ARP(7/7,65min)
ARP(Address Resolution Protocol),地址解析协议
讲台上的老师要知道具体某个同学坐在哪里:
老师:XX?你坐在哪里?(*全班同学都听得到*即广播)
只有该教室(广播域)的成员能够接收到该信息
实验搭建(ARP过程)
在PC1 Ethernet 0/0/1抓包, 在PC1上ping 1.1.1.2,可以ping通,查看Wireshark。
ARP分request和reply包(DNS中是request和response)
命令(Windows CMD) | 备注 |
arp -a | 查看ARP缓存 |
arp -d | 清空ARP缓存 |
MAC扫描工具的原理也是ARP
实验搭建(ARP欺骗)
如图,拓扑做出改变,当前模拟场景为PC3修改地址也为1.0.0.2(即PC3冒充PC2),仍然用PC1(1.0.0.1)上借口抓包,ping 1.0.0.2:
PC>arp -d
PC>ping 1.0.0.2
Ping 1.0.0.2: 32 data bytes, Press Ctrl_C to break
From 1.0.0.2: bytes=32 seq=1 ttl=128 time=31 ms
From 1.0.0.2: bytes=32 seq=2 ttl=128 time=46 ms
From 1.0.0.2: bytes=32 seq=3 ttl=128 time=47 ms
From 1.0.0.2: bytes=32 seq=4 ttl=128 time=46 ms
From 1.0.0.2: bytes=32 seq=5 ttl=128 time=47 ms
--- 1.0.0.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/43/47 ms
PC>
查看抓包状态:
如图,0000.0000.0002与0000.0000.0003都表示“我就是1.0.0.2” ,且第三个包(最新的包)中有显示0001与0002都使用了同一个IP地址。
ARP欺骗实际就是改变源IP与源MAC
ARP保护一般保护网关(即将网关IP与MAC绑定),只能保护自己的设备
免费ARP(Gratuitous ARP)
用于探测IP地址是否冲突(ARP-Request),收到回复则说明广播域内有地址冲突。
将自己的网卡设置地址为1.1.1.3/24,抓包:
可以看到Request/gratuitous ARP,即设备向自己的IP地址作为目标地址发送ARP,即小A在一间教室里大吼“谁是小A?”不会有人应答,若得到“我是小A”的回应,则说明该广播域中存在地址冲突。
数据链路层:
目标地址:FFFF-FFFF-FFFF,即广播
源地址:笔者设备自身
网络层:
源MAC(Sender):笔者设备自身
源IP(Sender):笔者设备自身
目标MAC(Target):0000-0000-0000,即广播
目标IP(Target):笔者设备自身