梳理 | IP基础知识

in web安全 Views: 2,471 s with 0 comment

基础知识

网络层

首先是最基础的概念。TCP/IP协议的参考模型如下图所示。

  1. 应用层是网络应用程序及它们的应用层协议存留的地方,包含HTTP, SMTP, FTP等协议以及DNS。
  2. 运输层在应用程序端点之间传送应用层报文,包含TCP, UDP两个协议。
  3. 网络层负责将称为数据报的网络层分组从一台主机移动到另一台主机,在一台源主机中的因特网运输层协议(TCP or UDP)向网络层递交运输层报文段和目的地址,就像你通过邮政服务寄信件时提供一个目的地址一样。包含

    • IP协议
    • 路由选择协议
    • ICMP协议

IP协议

IP是网络协议(英语:Internet Protocol, IP),负责——

IP地址

互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address),是分配给网络上使用网际协议(英语:Internet Protocol, IP)的设备的数字标签。

以上是摘自wiki的非人类描述。
简单来说,因为我们要需要拥有找到网络上每一个节点地址的能力,因此必须对每一个节点地址进行编号,就像是现实世界里,无论你在哪儿,你一定会有一个坐标一样,这个IP地址,就是网络中的坐标。
通过IP地址,我们就能像现实生活中一样按图索骥,找到我们想要传输信息的那个节点。

IP地址的表示

IP地址有两种表示,IPV4和IPV6。
IPV4协议的地址为32个二进制位长(四字节), 分成四组,也就是常见的255.255.255.255(通常使用点分十进制法表示)的样式。
IPV6协议的地址为128个二进制位长(十六字节)。

这里主要讲解一下主流的IPV4地址:
IP地址划分为两部分。

IP地址的分段方法

最初的规范:识别顶级的类(ABCDE类地址)

无类别分段方法:子网及子网掩码

比如说对于如下图所示的一个IP编址和接口的例子

路由器接口223.1.1.4223.1.1.1, 223.1.1.2, 223.1.1.3这三个主机接口,就形成了一个子网,ip编址为这个子网分配一个地址:223.1.1.0/24,其中的/24记法,有时称为子网掩码,指示了32bit中的最左侧24比特定义了子网地址。
以上描述可能还是过于抽象,下面我们列出这个地址的详细二进制编码来进行解释。

IP地址 二进制表示
223.1.1.4 11011111 00000001 00000001 00000100
223.1.1.1 11011111 00000001 00000001 00000001
223.1.1.2 11011111 00000001 00000001 00000010
223.1.1.3 11011111 00000001 00000001 00000011

通过对照上面的表格,我相信你能清楚地明白以下内容:
既然之前我们已经知道了ip地址共有32个二进制位长(即4字节),上面提到这个子网的掩码为 24 ,即前三个字节相同,而第4个字节,(即最后8个二进制位长)无论怎么变,就都属于223.1.1.0/24这个子网了。
同时我们可以知道,这个子网共被分配了$2^8$个ip地址。

那么以上内容和安全有什么关系呢?
无类别分段方法,与在整个八位组上分段不同,可以通过在具体IP地址上追加掩码位数的方式,在CIDR(Classless Inter-Domain Routing)前缀格式中指定地址范围。例如,172.16.0.0(掩码是255.255.0.0)变换为172.16.0.0/16。这些CIDR块本身能用于寻找“坏邻居”(即识别网络包是从恶意节点来or发往恶意节点)。
理解这些点很重要,因为要利用分组从数据和关系中挖掘出含义。
理解了CIDR前缀格式,就能看到这些前缀是怎样分组并且定义为自治系统(Autonomous System, AS),这些AS都分配了数值标识符,即自治系统数(Autonomous System Number, ASN),ASN有许多用处和相关数据,例如,用于边界网关协议(Border Gateway Protocol,BGP),使数据包在互联网中有效地选择路由。因为ASN和BGP的关系,所以有可能发现每个ASN的相邻邻居,如果一个ASN"邻居"与恶意节点普遍相连,它就可能是一个主导的指标,围绕它的ASN也可能包含恶意流量。

定位IP地址

一个具体的ip地址,通常映射到具有唯一介质访问控制(Media Access Control, MAC)地址的独立设备。在局域网内识别一个节点的交换机和端口是一个相当简单的过程。利用合适的元数据,可以基于物理信息创建逻辑组别并绑定附加属性,如节点的位置。
广义的讲,将互联网上的IP地址绑定到地址位置的方法,存在不同程度的准确度。

常用方法

GeoLite2 开源数据库

$ whois -h whois.cymru.com " -v 216.90.108.31 2005-12-25 13:23:01 GMT"

AS     | IP            | BGP Prefix       | CC | Registry | Allocated  | Info                    | AS Name
23028  | 216.90.108.31 | 216.90.108.0/24  | US | arin     | 1998-09-25 | 2005-12-25 13:23:01 GMT | TEAMCYMRU - SAUNET

绘图示例

如图所示,左边的为直接根据经纬度打在地图上的点,右边则是通过Team Cymru的IP-ASN映射服务获取到国家代码后,画出的分级统计图。

参考资料:

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

薇拉航线

(๑>ڡ<)☆谢谢老板~

使用微信扫描二维码完成支付

Comments are closed.