目录
一,IP数据包格式
二,ICMP协议介绍
三。ARP协议介绍
四,ARP攻击原理
一,IP数据包格式
网络层的功能:
定义数据通过网络流动所经过的路径
定义基于IP协议的逻辑地址
选择数据通过网络的最佳路径
连接不同的媒介类型
IP数据包格式(分为20字节的固定部分,表示每个ip数据包必须包含的部分,和40字节的可变长部分)
版本号(4bit):指IP协议版本。并且通信双方使用的版本必须一致,目前我们使用的是IPv4,表示为0100
首部长度( 4位) :IP数据包的包头长度
优先级与服务类型(8)﹔该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级,用于实现Qos(服务质量)的要求。
总长度(16):IP数据包的总长度,最长为65535字节,包括包头和数据。
标识符(16)﹔该字段用于表示IP数据包的标识符。当IP对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包(对方发现相同编号的数据进行重组)
标志(3):和标识符一起传递,指示不可以被分片或者最后一个分片是否发出(打个标签)
段偏移量(13):在一个分片序列中如何将各分片连接起来,按什么顺序连接起来
TTL生命周期(8):可以防止一个数据包在网络中无限循环的转发下去,每经过一个路由器-1,当TTL的值为0时,该数据包将被丢弃
协议号(8):封装的上层哪个协议,ICMP协议号:1 ;TCP:6 ;UDP : 17
首部校验和(16):指检验数据报的首部,不包括数据部分(数据报每经过一次路由器,都要重新计算一下首部校验和,因为一些字段生存时间,标志,片偏移等可能发生变化)
源IP地址(32):发送端的IP地址
目标IP地址(32):接收端的IP地址
可选项:上层数据打包,选项字段根据实际情况可变长,可以和IP一起使用的选项有多个,可选项之后就是上层数据。例如:创建时间等。
标识符,标志,段偏移量都属于上层数据到IP层会被分片
二,ICMP协议介绍
1.ICMP协议
ICMP是一个错误侦测与回馈机制,通过IP数据包封装的,用来发送错误和控制信息(发送的数据当中可能接受到错误的和正确的,访问到对端的机器)
ICMP报文类型:差错报告报文,查询报文
【主机通过路由发送,通过IP数据包发送控制信息,目的是通过网络管理员掌握网络的连接状态(主机通过路由器转发到外网转发到对方,如果到达不了,路由器给我一个反馈信息或者是不可达)】
2.ICMP协议的封装
ICMP协议属于网络层协议(就是ping的过程)
ICMP数据封装过程:
ICMP头部+ICMP数据;
到网络层封装:IP头部+上层数据(ICMP报文);
到数据链路层:帧头部(源MAC地址)+上层数据+帧尾部(目标MAC地址)
ping的命令格式:
ping [-t] IP_ADDRESS | target_name:
ping:只返回四条数据,
-t:一直ping下去;
-a:显示对方主机名;
-l:定义ping包的字节大小
-n:指定发送包的个数
-S:指定源IP去ping,例:ping -S 192.168.1.25 192.168.1.168(S指定源IP)
tracert命令:tracert+IP地址,可以查询从本机到该IP地址所在的电脑要经过的路由器及其IP地址
*无法访问目标主机:可能是因为没有正确配置网关等参数(如果没有配置生命周期TTL,就一直循环)
*请求超时:在规定时间内没有收到返回的应答消息
三,ARP协议介绍
1.什么是arp协议
地址解析协议,将一个已知的IP地址解析成MAC地址,通过网卡绑定的IP地址进行通信;为了实现IP地址与MAC地址的查询与转换,引入ARP缓存表,这个表包含IP地址到MAC地址的映射;当需要发送数据时,主机会根据数据报中的目标IP地址信息,然后在ARP缓存表中进行查找对应的MAC地址,最后通过网卡将数据发送出去。
【ARP缓存表包含一个寿命值(TTL,也称作生存时间),记录每个ARP表项(缓存表中记录的<IP地址,MAC地址>对)的生存时间,生存时间到了就会从缓存表中删除】
(RARP:将MAC地址解析为IP地址)
2.工作原理
IP地址解析为MAC地址:
pc1发送数据给pc2,查看自己本地缓存中检查是否有pc2的MAC地址;
如果pc1缓存中没有找到,它将询问主机pc2的MAC地址,pc1将ARP请求帧广播到本地网络的所有主机,帧包含pc1的IP地址和MAC地址,
本地网络上的所有主机都接受到ARP请求,并检查是否与自己的IP地址相匹配,pc2确定ARP请求中的IP地址与自己的IP地址匹配,则将主机pc1的IP地址和MAC地址添加到本地缓存中;
主机pc2将包含其MAC地址的ARP回复消息直接发给pc1(数据帧单播),其他主机丢弃
pc1将pc2的MAC地址保存到缓存中,发送数据(120秒之后断开,再想通信,重新连接)
ARP相关命令:
windows中:arp -a:查看ARP缓存 arp -d:清除ARP缓存
四,ARP攻击原理
ARP攻击发送的是ARP应答,但是ARP应答中的MAC地址为虚假地址,所以在其他主机想要进行通信时,会将目的MAC地址设置成虚假MAC地址导致无法正常通信
pc1通过网关访问internet,pc2伪装pc1的MAC地址,发送给网关,pc1发送的数据都会受到pc2的监控,pc1无法正常通信。
A与B打电话,他首先知道B的电话号码,这是有人告诉A,B的电话号码是123456(不存在的号码),于是A就把电话打到123456,这样就无法找到B。
欺骗原理:最终结果是导致网络中断,最终结果是使得流量通过自身达到监控或控制的目的。
总结:
1.IP数据包格式
2.什么是ICMP协议及封装过程
3.什么是ARP协议及工作原理
4.ARP攻击,欺骗原理