为什么选择做汉服网站,做广告联盟怎么做网站,简述主要的电子商务网站有哪些,微网站免费模板前言 最近看书发现个问题#xff0c;正好想学习下wireshark的使用#xff0c;于是抓包做了下实验。 问题是这样的#xff0c;假设有服务器A和服务器B#xff0c;正确配置下两者处于同一子网#xff1b;此时B的网络配置正确#xff0c;而A在配置子网掩码时出了错#xff…前言 最近看书发现个问题正好想学习下wireshark的使用于是抓包做了下实验。 问题是这样的假设有服务器A和服务器B正确配置下两者处于同一子网此时B的网络配置正确而A在配置子网掩码时出了错导致在A中计算B的网段时发现二者不处于同一子网而它们之间存在网关恰巧与AB都处于同一网段此时A想要ping通B可以成功吗 文字描述的不是很清楚直接上例子。
A的ip为16完整ip为192.168.1.1616是省略写法下文亦同B的ip为103网关ip为1A的子网掩码被配置为224255.255.255.224B为0255.255.255.0。
由下图与运算可得A的子网为0000 0000B的子网也为0000 0000但在A的视角看来当他想要ping通B时使用自己的子网掩码224算出B的网段为0110 0000明显二者不位于同一网段A无法直接通过ARP解析到B的mac地址。 那它们通信的过程具体是怎么样的呢让我们接着往下看
上述数据是由我的实验中抽出来的我将电脑wlan网卡的配置修改了一下相当于服务器A我的手机为服务器B它们连接同一个路由器则路由器相当于网关。 出于隐私考虑我把mac地址打码了留最后两位作为区分
服务器A IP 192.168.1.16 macef 子网掩码255.255.255.224 ping之前A的arp缓存中已有网关mac地址服务器B IP 192.168.1.103 mac8e 子网掩码255.255.255.0网关IP 192.168.1.1 macce实验过程
实验开始前使用arp -a命令查询arp缓存发现此时A中已有网关的mac地址 接下了开始ping同时使用wireshrak抓取wlan网卡的网络包 ping请求完成后arp缓存中增加了B的mac地址
网络包分析
接下了到分析网络包的时间了 因为第一次ping请求最有价值于是我只把一开始的数据包截取出来让我们仔细分析一下。 插入一段名词解释 Redirect for host
ICMP 重定向ICMP Redirect就是路由器收到数据包的接口正是去往目的地的出口时则会向源发送 ICMP重定向ICMPRedirect通告对方直接将数据包发向自己的下一跳即可不要再发给自己。91号 服务器AInter向服务器B发送ping请求但目的地是网关mac地址我的路由器是tplink上面也看得出来因为在它看来B和自己不在同一个子网内无法直接通过ARP广播查询B的mac地址于是它请求网关转发它对B的ping请求因此dst为网关这是基于A本来就知道B的mac地址否则应该还需要通过ARP广播broadcast查询网关的mac地址后才能进行发送这一步我没有验证
92号 网关向服务器A发送icmp重定向这时它可能将包转发给了服务器B但无从得知
94号 服务器A收到了来自服务器B的广播此时B在广播查询服务器A的mac地址 因为在B的视角看来A和它同处于同一网段因此它直接使用ARP广播来查找A 95号 服务器Aef向服务器B8e响应自己的mac地址证明A在响应arp请求时不会考虑子网是否相同 此时B中已经得知A的mac地址可以直接响应 服务器B响应服务器A的ping请求通信完成