网络层arp协议介绍
一、IP数据包格式
1.协议格式
1.版本(4比特):版本字段 | 2.首部长度(4):IP包的头部长度 | 3.优先级与服务类型(8) | 4.总长度(16):IP数据总长度 | |
5.标识符(16) | 6.标识(3) | 7.段偏移量(13):上层数据到IP层会被分片 | ||
8.TTL(8):生命周期 | 9.协议号(8):协议字段 | 10.首部校验和(16) | ||
11.源地址(32) | ||||
12.目标地址(32) | ||||
13.可选项:开发人员可另做添加 | ||||
14.数据:上层数据(传输层) |
二、ICMP协议介绍
2.1 概述
1.CMP是一个错误侦测与反馈机制
2.通过IP数据包封装的
3.用来发送错误和控制信息
2.2 协议封装
1.ICMP协议是网络层协议
2.ICMP数据封装的过程
2.3 ping命令
2.3.1 基本格式
c:\>ping 【-a】IP 【-t】/【-l字节数】
2.3.2 具体用法
比如 1.ping 192.168.1.1 -t(-t参数会一直不停的执行ping,调试故障或需进行持续连通性测试时应用,按Ctrl+C可 停止)
2.ping 192.168.1.1 -l 1000 (-l可以设定ping包的大小)
3.ping -a 192.168.1.235 (-a可以显示主机名称,网关没有主机名)
三、ARP协议介绍
3.1 概述
局域网中主机的通信是IP地址和MAC地址,ARP协议是地址解析协议,将一个已知的IP地址解析成MAC地址。
3.2 具体解析
1.PC1将数据发送给PC2,查看有没有PC2的MAC地址
2.PC1发送ARP请求消息(广播)
3.所有PC收到ARP消息:PC2回应了(单播),其他PC丢弃
4.PC1将PC2的MAC地址保存下来,发送数据
简单来说就是PC1和PC2要进行通信,需要知道PC2的以太网地址,PC1就发送了一个ARP广播(谁是10.0.0.2,收到回复给10.0.0.1),然后PC2、PC3、PC4都收到广播后就都检查自己,PC3和PC4发现不是找自己就把消息丢弃,PC2发现是找自己后,就给PC1回复了一个ARP单播应答(10.0.0.2在xx-xx-xx-xx-xx-xx-xx:PC2的MAC地址中)。
3.3 ARP相关命令
windows系统中ARP命令:1.arp -a:查看ARP缓存表 2.arp -d:清除ARP缓存 3.arp缓存
举例: 主机绑定arp (192.168.1.1)
1.输入:arp -a -------------------------------查看缓存表
2.输入netsh interface ipv4 show neighbors ----查看以太网序号
3.以管理员身份运行
输入netsh interface ipv4 set neighbors+序号+IP+MAC -ARP绑定
4.再次输入arp -a --------------------------------查看缓存表
动态变成静态表示绑定成功,就可以避免被arp攻击了
5.输入netsh -c “i i”delete neighbors+序号+IP+MAC -------解绑
6.输入arp -a ------------------------------查看有无解绑还原
四.ARP攻击欺骗原理
1.欺骗网关
PC2:我是网关,我的MAC地址是xx-xx-xx-xx-xx-xx(PC2的MAC地址);PC2:我是PC1,我的MAC地址是xx-xx-xx-xx-xx-xx(PC2的MAC地址),PC2在里面浑水摸鱼,利用arp回复报文机制,窃取PC1的信息。
2.欺骗主机
在局域网内,PC1和PC2进行通信,PC3又浑水摸鱼,向PC1发送:我是PC2,我的MAC地址(PC3的MAC地址),向PC2发送:我是PC1,我的MAC地址(PC3的MAC地址),然后信息通信经过PC3,被PC3剽窃篡改。