两台PC之间ping
设置如下
PC5命名为PC1, PC6命名为PC2
- 第一次使用PC1pingPC2的时候,对PC1端口抓包
PC>ping 192.168.2.2
Ping 192.168.2.2: 32 data bytes, Press Ctrl_C to break
From 192.168.2.2: bytes=32 seq=1 ttl=128 time=16 ms
From 192.168.2.2: bytes=32 seq=2 ttl=128 time<1 ms
From 192.168.2.2: bytes=32 seq=3 ttl=128 time=16 ms
From 192.168.2.2: bytes=32 seq=4 ttl=128 time<1 ms
From 192.168.2.2: bytes=32 seq=5 ttl=128 time<1 ms
--- 192.168.2.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 0/6/16 ms
PC>ping 192.168.2.2
- 用PC2对PC1进行反ping,还是对PC1端口进行抓包
PC>ping 192.168.2.1
Ping 192.168.2.1: 32 data bytes, Press Ctrl_C to break
From 192.168.2.1: bytes=32 seq=1 ttl=128 time=16 ms
From 192.168.2.1: bytes=32 seq=2 ttl=128 time<1 ms
From 192.168.2.1: bytes=32 seq=3 ttl=128 time=16 ms
From 192.168.2.1: bytes=32 seq=4 ttl=128 time<1 ms
From 192.168.2.1: bytes=32 seq=5 ttl=128 time=15 ms
--- 192.168.2.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 0/9/16 ms
- 用PC1对PC2进行第二次ping,还是对PC1端口进行抓包
结论:
两
台
陌
生
机
器
第
一
次
p
i
n
g
的
时
候
两台陌生机器第一次ping的时候
两台陌生机器第一次ping的时候
【已知条件】
- PC1
MAC地址:54-89-98-88-22-81 (HuaweiTe_88:22:81)
ip地址:192.168.2.1 - PC2
MAC地址:54-89-98-74-73-87 (HuaweiTe_74:73:87)
ip地址:192.168.2.2
【过程复盘】PC1 ping PC2
ping 192.168.2.2
- 首先PC1机器发送一个ARP包
PC1MAC地址(HuaweiTe_88:22:81)
进行Broadcast(广播)
目的是寻找 谁是192.168.2.2的MAC地址 - 然后 PC2机器发送一个ARP包
PC2MAC地址(HuaweiTe_74:73:87) 发给 PC1MAC地址(HuaweiTe_88:22:81)
目的是告诉PC1,192.168.2.2就是我(HuaweiTe_88:22:81) - 之后他们俩互发ICMP报文,传递控制消息
控制消息: 网络通不通?主机是否可达?路由是否可达?
【遗留问题】
此时通过PC1pingPC2,PC2应该是已经知道PC1的MAC地址和IP了啊,为什么PC2pingPC1的时候又发送了ARP包?
有可能和ping的底层原理有关,在第一次PC1pingPC2的时候,虽然PC2知道了PC1的地址,但是没有保存
【条件所限】在ENSP中,目前不支持查询PC的路由表,只支持交换机以上的设备查询路由表
【最新思考】可能跟ARP有关
PC1第一次发送ARP以后,PC2回应PC1,
此时更新的是PC1的转发表,PC2仍是空白
当
同
一
台
机
器
p
i
n
g
第
二
次
的
时
候
当同一台机器ping第二次的时候
当同一台机器ping第二次的时候
不需要双方的ARP过程了,因为已经知道MAC地址对应的IP是什么了
报文分析
对ARP报文和ICMP报文进行分析,分别使用红蓝,红蓝绿来区别不同报文
ARP报文分析
以太网帧格式:
ARP报文格式:
ICMP报文分析(包含IP报文)
ICMP数据报:
IP数据包:(互联网协议 Internet Protocol)
两台PC之间ping 引入吃瓜的PC3
由于每个PC只有一个端口,所以需要加上L2交换机
加上交换机以后
设置如下
PC1对PC2进行ping,同时对PC1和PC2还有PC3端口进行抓包
PC1抓包结果如图
PC2抓包结果如图
PC3抓包如图
对交换机3的端口抓包如图
【结论】
在一个网段下,PC1对PC2ping,PC3是会收到一个ARP包的,但是发现这个包找的不是自己,所以PC3丢弃了