首页 > 其他分享 >Wireshark分析两台设备在不同子网进行内ping包——学习篇

Wireshark分析两台设备在不同子网进行内ping包——学习篇

时间:2024-06-08 22:04:19浏览次数:18  
标签:ARP 网关 子网 ping 192.168 mac ICMP 26.2 Wireshark

最近在读一本关于网络抓本和协议分析的一本书——《Wireshark网络分析就这么简单》

书中有一篇章节为——从一道面试题开始说起

问题:两台服务器A和B的网络配置如下,B的子网掩码本应该是255.255.255.0,却不小心配置成了255.255.255.224.它们还能正常通信吗?

A ip地址:192.168.26.129 子网掩码:255.255.255.0 网关:192.168.26.2

B ip地址:192.168.26.3 子网掩码:255.255.255.224 网关:192.168.26.2

此刻给出几个答案,大家可以先猜测一下:

答案1:A和B不能通信,因为······如果这样都行的话,子网掩码还有什么用?(有点道理)

答案2:A和B能通信,因为它们可以通过ARP广播获得对方的MAC地址。(那子网掩码还有什么用,楼上刚好反驳这位)

答案3:A和B不能通信,因为ARP不能跨子网。(这个答案听着想认真思考过的)

话不多说!开始实验。

我们拿Wireshark来捕获ICMP协议之间通信的过程,eNSP模拟业务环境

一.业务模拟

1.使用sNSP搭建好环境,客户机:A,B 网关交换机:LSW1

2.启动Wireshark开始抓包并通过B向A发送ICMP协议请求

能看到,BpingA是可以ping通的

那我们来逐步分析下ICMP请求报文,上面的是客户端A,下面的是客户端B

客户端B:

12包:

可以看到客户端B(00-BB-BB-BB-BB-BB)向192.168.26.2发送了一个ARP广播的请求,意思是:
who has 192.168.26.2 Tell 192.168.26.3 (谁是192.168.26.2 告诉 192.168.26.3)

那为什么B的目标端明明是A,可是从报文看B却要向网关索要mac呢?

原因:

1.不同子网之间的的通信需要网关支持,而网关则依赖与mac地址。

2.ARP发包需要根据自身子网对目标端的子网检测,判断是否属于一个网段,B在发ARP时发现A和自己不在同一网段,所以才回去找网关进行协议转发

13包:

网关回应B,我是192.168.26.2 is at 网关

14包:

B端封装好ICMP报文后,向A端发送,但是可以看到,目的端ip是192.168.26.129,但是目的端mac却是网关192.168.26.2的mac地址,这是因为B想让网关进行协议转发,至于网关有没有转发,我们可以通过结果或者对网关进行抓包去分析。

15包:

网关询问who has 192.168.26.129 Tell 192.168.26.2(谁是192.168.26.129 告诉 192.168.26.2)

因为这是单播环境所以看不到A包回应的ARP,继续往下,会分析A的报文

17包:

A回应B的ICMP请求,但是目的端mac是网关,现在A也是想要让网关进行协议转发

PS:书中这一步该是A收到网关转发的ICMP协议后,A向B发出ARP广播去获取B的mac地址,然后A直接向B回复ICMP请求。但是我试了两次也没有出现书中的现象。。

客户端A:

14包:

由于在一个交换机,所以A这里收到了来自B询问网关的mac地址

15包:

网关发出ARP广播,who has 192.168.26.129 Tell 192.168.26.2(谁是192.168.26.129告诉192.168.26.2)

16包:

A回复网关,我是192.168.26.129 is at 网关

17:

网关向A转发出ICMP的请求包,通过报文能看出原始ip是B,但是原始mac是网关

18:

A回应B发出的ICMP请求包,目的ip是B,目的网关是网关

PS:这里与分析B端的8包的PS一致

标签:ARP,网关,子网,ping,192.168,mac,ICMP,26.2,Wireshark
From: https://blog.csdn.net/addtyp/article/details/139546304

相关文章

  • Vulnhub靶场:NAPPING: 1.0.1
    1.环境搭建靶机下载:Napping:1.0.1~VulnHub将靶机导入到OracleVMVirtualBox中,网络设置仅主机模式,和kali使用相同的网卡开启靶机2.渗透过程使用nmap工具扫描进行主机发现扫描nmap-sn192.168.56.0/24发现靶机ip地址,使用nmap工具进行端口扫描nmap-sS192.16......
  • Win11系统提示找不到NDKPing.exe文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个NDKPing.exe文件(挑选合适的版本文件)把它放......
  • H3C模拟延时测试ping包
    1.拓扑2.各路由器配置sysnameR1ospf1area0.0.0.0network10.0.12.00.0.0.255network10.0.13.00.0.0.255interfaceLoopBack0ipaddress1.1.1.1255.255.255.255ospf1area0.0.0.0interfaceGigabitEthernet0/0ipaddress10.0.12.1255.255.255.0......
  • Meta最新路径搜索算法 Beyond A*: Better Planning with Transformers via Search Dyn
    这篇论文前两个月刚刚放出,研究了如何让人工智能(AI)更好地解决复杂的规划问题,比如在迷宫中寻找最短路径,或者推箱子游戏(Sokoban)中把箱子全部推到指定位置。传统上,这类问题通常使用专门的规划算法来解决,比如A*搜索算法。但是,训练AI模型(如Transformer)来解决这些问题......
  • BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and
    Motivation&Abs端到端大规模视觉语言预训练的开销极大。为此,本文提出了BLIP2,利用现成的冻住的imageencoder以及LLM引导视觉语言预训练。模态差距:通过两阶段训练的轻量级的QueryTransformer(Q-Former)弥补。第一阶段:从冻结的imageencoder引导VL学习;第二阶段:从冻结的LLM引导视......
  • 基于rtl8188eu的imx6ull开发板与Windows11实现无线网络ping通
    文章目录版本信息1.开发板网卡移植1.1.配置rtl8188eu驱动2.内核修改编译2.1.rtl8188eu固件配置2.2.USB、WIFI、IEEE802.11配置3.wifi工具移植3.1.wirelesstool移植3.2.wpa_supplicant移植4.根文件系统配置5.ping测试版本信息arm开发板:正点原子imx6ullalphav2......
  • LaneKeepingEnv(自动驾驶仿真)
    LaneKeepingEnv环境的工作原理可以归纳如下:初始化阶段:环境在创建时,会调用__init__方法进行初始化。初始化过程中,会设置一些关键的属性,如lane(当前车道)、lanes(所有车道的列表)、trajectory(车辆的轨迹)等。环境的默认配置参数由default_config方法定义,这些参数包括观测类型、动......
  • python用于类型注解的库- typing
    一、简介动态语言的灵活性使其在做一些工具,脚本时非常方便,但是同时也给大型项目的开发带来了一些麻烦。自python3.5开始,PEP484为python引入了类型注解(typehints),虽然在pep3107定义了函数注释(functionannotation)的语法,但仍然故意留下了一些未定义的行为.现在已经拥有许......
  • linux命令ping
    ping命令[root@iwopt]#ping172.1.1.3PING172.1.1.3(172.1.1.3)56(84)bytesofdata.64bytesfrom172.1.1.3:icmp_seq=1ttl=123time=16.8ms64bytesfrom172.1.1.3:icmp_seq=2ttl=123time=16.4msbytes:ping命令用于检测网络上另一台计算机是否可达。当你执......
  • 计算机网络-数制转换与子网划分
    目录一、了解数制1、计算机的数制2、二进制3、八进制4、十进制5、十六进制二、数制转换1、二进制转十进制2、八进制转十进制3、十六进制转十进制4、十进制转二进制5、十进制转八进制6、十进制转十六进制三、子网划分1、IP地址定义2、IP的两种协议介绍2.1、......