目录
一、IP数据包格式
IP数据包是一种可变长分组,它由首部和数据负载两部分组成。
首部,一般为20-60字节(Byte)又包含两部分,前20字节格式为固定,其中后40字节是可选的,长度不固定。
数据负载部分的长度一般可变,整个IP数据包的最大长度为65535B
扳手优总,标标断,ttl携手原木可塑。
具体的介绍
字段名称 | 长度(位) | 描述 |
---|---|---|
版本号 | 4 | 表示IP的版本号,通常为IPv4(0100,十进制为4) |
首部长度 | 4 | IP数据包的首部长度,以32位字(4字节)为单位 |
区分服务/优先级 | 8 | 优先级和服务质量的标记 |
总长度 | 16 | IP数据包的总长度,包括首部和数据部分 |
标识 | 16 | 数据包的唯一标识符 |
标志 | 3 | 用于分片和重组数据包时标记数据包的状态 |
分段偏移量 | 13 | 分片以后的数据距离在原始数据中所处的位置 |
生存时间(TTL) | 8 | 数据包在网络中的最大寿命 |
协议 | 8 | 数据包载荷的协议类型(如TCP、UDP、ICMP等) |
首部校验和 | 16 | 用于检测首部是否正确传输的校验和 |
源IP地址 | 32 | 发送数据包的源IP地址 |
目标IP地址 | 32 | 接收数据包的目标IP地址 |
选项(可选字段) | 可变 | 可选的控制信息,如记录路由、时间戳等 |
二、Icmp协议介绍
ICMP报文有两种类型:差错报告报文和查询报文。
Icmp协议是负责错误侦测与回馈机制的协议,在IP 网络中发送控制消息,提供可能发生在通信环境中的各种问题的反馈。
代表功能是ping
2.1、ping的命令
参数 | Windows 描述 | Linux 描述 |
---|---|---|
-t | 使 ping 持续发送请求,直到用户手动停止(Ctrl+C) | 无此参数,Linux 使用 Ctrl+C 停止 |
-a | 尝试解析目标 IP 地址的主机名并在输出中显示 | 无直接对应参数,但可以使用 ping -c 1 hostname 来解析主机名 |
-l | 改变 ping 包的大小 | 无此参数 |
-s | 计数跃点的时间戳(仅适用于 IPv4)。 | 指定发送的数据包大小(以字节为单位) |
-n | 指定发送的请求数 | 无此参数,Linux 使用 -c |
-c | 无此参数(Windows 使用 -n ) | 指定发送的请求数 |
-S | 在 Windows 中直接用于指定源 IP 地址 | 无此参数,但可以使用 -I 指定网络接口 |
-I | 指定网络接口(或源 IP 地址) | 指定网络接口或源 IP 地址 |
2.2、tracert命令
Windows :在命令行中输入“tracert ”并在后面加入一个IP地址,可以查询从本机到该IP地址所在的电脑要经过的路由器及其IP地址
Linux: traceroute IP/域名

三、arp协议介绍
3.1、什么是arp协议
ARP协议是地址解析协议(Address Resolution Protocol)是通过解析IP地址得到MAC地址的
ARP协议在网络层被应用,它是网络层与链路层连接的重要枢纽,每当有一个数据要发送的时候都需要在通过ARP协议将IP地址转换成MAC地址,在IP层及其以上的层次看来,他们只标识IP地址,从不跟硬件打交道。
3.2、arp协议如何工作的
为了实现IP地址与MAC地址的查询与转换,ARP协议引入了ARP缓存表的概念,每台主机或路由器在维护着一个ARP缓存表(ARP table),这个表包含IP地址到MAC地址的映射关系,表中记录了<IP地址,MAC地址>对,我称之为ARP表项,他们是主机最近运行时获得关于其他主机的IP地址到MAC地址的映射,当需要发送数据的时候,主机就会根据数据报中的目标IP地址信息,然后在ARP缓存表中进行查找对应的MAC地址,最后通过网卡将数据发送出去。ARP缓存表包含一个寿命值(TTL,也称作生存时间),它将记录每个ARP表项的生存时间,生存时间到了就会从缓存表中删除。从一个表项放置到ARP缓存表中开始,
在某些系统中,ARP缓存表的生存时间可能设置为180秒
老化机制一个表项通常的生存时间一般是10分钟,
当然,这些生存时间是可以任意设置的,我们一般使用默认即可。
3.3、ARP工作原理
1. PC1想发送数据给PC2, 会先检查自己的ARP缓存表。
2.如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的MAC地址。
【ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MAC地址(此时为广播MAC地址FF-FF-FF-FF-FF-FF)】
3.交换机收到广播后做泛洪处理,其他主机收到ARP请求消息,PC2以单播方式发送ARP应答(此时交换机有双方的mac表对应了), 并在自己的ARP表中缓存PC1的IP地址和MAC地址的对应关系,而其他主机则丢弃这个ARP请求消息。
4. PC1在自己的ARP表中添加PC2的IP地址和MAC地址的对应关系,以单播方式与PC2通信。
交换机中的MAC地址表也是在ARP广播过程中学习并保存MAC地址与交换机端口之间对应关系的关键数据结构。一旦交换机通过ARP广播或其他方式(如直接通信)学习到MAC地址与端口的映射关系,它就会在后续的通信中利用这个MAC地址表来直接进行单播转发,而不需要再进行广播。
四、arp攻击原理
- 定义:ARP攻击是一种针对网络环境中的ARP协议进行的恶意行为。攻击者通过发送虚假的ARP响应或请求,试图改变网络设备之间的地址映射关系,以篡改通信、窃取数据等目的。
- 目标:ARP攻击的主要目标是破坏网络通信和获取敏感信息。当局域网内的计算机遭到ARP的攻击时,会持续地向局域网内所有的计算机及网络通信设备发送大量的ARP欺骗数据包,导致网络通道阻塞、网络设备的承载过重、网络的通讯质量不佳等情况。
4.1、ARP攻击
ARP攻击发送的是ARP应答,但是ARP应答中的MAC地址为虚假地址,其他主机想要进行通信时,会将目的MAC地址设置成此虚假MAC地址导致无法正常通信。
例如:如果希望被攻击主机无法访问互联网,就需要对网关发送或被攻击主机发送虚假的ARP应答。当网关接收到虚假的ARP应答更新ARP条目后,如果网关再发生数据给PC1时,就会发送到虚假的MAC地址导致通信故障。
此处可以举例说明,例如张三要给李四打电话,他首先要知道李四的电话号码,这时有人告诉他李四的电话号码是12345678(不存在的号码),于是张三就把电话打到12345678,这样就无法找到李四了。
4.2、ARP攻击和ARP欺骗的区别
ARP攻击最终的结果是导致网络中断,而ARP欺骗的最终结果是使得流量通过自身达到监控或控制的目的。
4.3、windows当中如何查看arp缓存表
arp -a ##查看arp缓存表
arp -d [ip] ##删除arp缓存表
arp -s ip mac ###刚除arp静态绑定