网络层协议
一、IP数据包格式
1.1、网络层的功能
-
定义了基于IP协议的逻辑地址
-
链接不同的媒介类型
-
进行逻辑地址(IP地址)的寻址和路由选择
1.2、IP数据包格式
IP头部的组成:源IP、目的IP、IP版本、IP头部的长度、总长度、标识符、标志、段偏移量、TTL、协议号、头部校验和、可选项
-
源IP:发送数据的IP
-
目的IP:接受数据的IP
-
IP版本:IPv4|IPv6
-
IP头部长度:IP头部最短默认20字节、IP头部可以由可选项变长
-
TTL:存活周期,每经过一个路由器TTL值减1。当TTL值为0时被丢弃
-
协议号:UDP的协议号是17,TCP的协议号是6
二、ICMP协议
1.1、什么是ICMP协议
-
ICMP = 互联网控制报文协议
-
ICMP是一个“错误侦测与回馈机制”
-
发送心跳消息来探测节点间的网络连通性
心跳信息:主机发送ping请求,接收pong响应
1.2、ICMP封装
ICMP封装ICMP (Internet Control Message Protocol) 封装是指将 ICMP 消息包装在 IP 数据报中进行传输。具体来说,ICMP 封装是将 ICMP 消息作为 IP 数据报的数据部分,然后在 IP 数据报的头部设置 ICMP 协议字段,以指示该数据报是一个 ICMP 消息。
1.3、基于ICMP协议实现的命令
Windows系统
ping X.X.X.X|域名 ##对某个IP发送探测数据包,反馈该IP信息
tracert X.X.X.X|域名 ##追踪数据包到目的地址的路径
LINUX系统
ping X.X.X.X|域名 ##对某个IP发送探测数据包,反馈该IP信息
traceroute X.X.X.X|域名 ##追踪数据包到目的地址的路径
mrt X.X.X.X|域名 ##实时追踪数据包到目的地址的路径
三、ARP协议
1、广播和广播域
-
广播:将广播地址作为目的地址的数据帧
-
广播域:网络中能接收到同一个广播的所有节点
-
广播地址为FF-FF-FF-FF-FF-FF
2.1、ARP协议概述
-
Address Resolution Protocol,地址解析协议
-
将一个已知的IP地址解析成MAC地址
2.2、ARP工作原理
-
PC1想发送数据给PC2,会先检查自己的ARP缓存表。
-
如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的 MAC地址。
-
交换机收到广播后做泛洪处理,除PC1外所有主机收到ARP请求消息,PC2以单播方式发送ARP应答,并在自己的ARP表中缓存PC1的 IP 地址和 MAC 地址的对应关系,而其他主机则丢弃这个ARP请求消息。
-
PC1在自己的 ARP表中添加 PC2的 IP 地址和 MAC地址的对应关系,以单播方式与PC2通信。
2.3、 ARP信息绑定
Windows 下ARP命令
Play.A
arp -a ###查看ARP缓存表
arp -d <IP> ###清除指定 Internet 地址ARP缓存
arp -s <IP> <MAC> ###ARP静态绑定
Play.B
netsh interface ipv4 show neighbors OR netsh i i show in
#查看网卡接口序号 网卡接口序号=Idx#
netsh interface ipv4 set neighbors <Idx> <IP> <MAC>
#添加静态ARP 网卡接口序号 = Idx IP = 需要添加的主机IP地址 MAC = 需要添加的主机MAC地址#
解除静态绑定
netsh -c i i delete neighbors <Idx> <IP> <MAC>
#添加静态ARP 网卡接口序号 = Idx IP = 需要添加的主机IP地址 MAC = 需要添加的主机MAC地址#
动态学习到的ARP的老化时间是120s
静态绑定的ARP条目在计算机关机或重启后会消失
3、ARP攻击
ARP攻击:
-
欺骗其他所有计算机
-
欺骗被攻击计算机
ARP欺骗:
例:PC1正常发向PC2的数据,未按照正常路径交给PC2,被PC3伪造PC2的MAC地址接收,并对其数据内容进行修改后,发送给PC2
总结:ARP欺骗的原理和ARP攻击基本相同,但是效果不一样。ARP攻击最终的结果是导致网络中断,而ARP欺骗的最终结果是使得流量通过自身达到监控或控制的目的
以上文本均为个人理解,望各位大佬点评