Wireshark抓取的是本主机收到的数据,还是局域网内所有的数据?

VSole2022-08-15 15:58:15

很多人跟我说wireshark抓取的是安装这个软件的主机收到或者发送的数据。这一点有道理,因为确实能在wireshark里看到目的地址或者原地址是本机IP地址的分组。

但是,我也看到了wireshark获取了目的地址和原地址都不是本机IP地址的分组。如图所示:

源地址和目的地址都不是本机的IP地址,却仍然被本机获取到

本机的IP地址是192.168.1.100,输入ipconfig命令可以看到,只有这台设备安装了wireshark:

而192.168.1.103是我的另一台设备的地址,但是那一台设备上没有安装wireshark,100和103这两台设备连接的都是我自己家的无线局域网。

难道说wireshark获取的不仅仅是本机收发的数据,还包括了局域网内其他主机的数据?我又用103这台设备访问了一个网页,同时打开wireshark,但是这个过程wireshark没有获取到任何源地址或者目的地址是192.168.1.103的分组。怎么回事?怎么刚刚还能获取的,现在就不能获取了?难道说wireshark能获取局域网内其他设备的数据,但是这完全是随机的,有时候能有时候不能?所以说,wireshark能抓取:

A、仅仅是本主机收发的数据

B、局域网内所有主机收发的数据

C、随机获取

答案当然是A,即本机收发的数据。题主可能会很疑惑,既然本机的IP地址=192.168.1.100,意味着只有IP报文目的地址= 192.168.1.100才会接收,可是为什么目的IP= 239.255.255.250的IP报文也抓到了?

239.255.255.250是一个组播地址,是SSDP(Simple Service Discovery Protocol )专用地址,只要订阅该地址的服务,都会接收。

组播地址239.255.255.250,可以看作公众号ID。大家订阅本公众号,公众号有文章更新会推送到订阅该公众号订阅者的微信。如果没有订阅该公众号,自然就无法接收。

如果你将本地运行的SSDP服务进程关闭,意味着不再关注该组播ID(239.255.255.250),那就无法接收该组播的报文了,这应该很好理解。239.255.255.250这个地址不属于任何机构和个人,它是一个组ID。计算机有什么服务想向外界发布,只要将该地址作为目的IP,作为投递目的地址,就可以将服务包裹发布出去。

  • 如果计算机连接的网络(交换机、路由器)配置了组播(PIM、RP),SSDP组播会推送给整个局域网网络。以至于局域网内的每一台主机(已订阅)都可以收到SSDP服务发布。
  • 如果计算机连接的网络没有配置组播,SSDP服务报文依然会在广播域内扩散,所以广播域内(VLAN/同一个网段)所有订阅主机依然可以接收。无论二层交换机是否支持IGMP Snooping,订阅主机都可以接收。区别在于,不支持IGMP Snooping的交换机会广播扩散SSDP报文,以至于连没有订阅的主机也会接收。

问题来了,没有订阅SSDP的报文(目的IP= 239.255.255.250)的主机网卡,自然也会收到交换机广播扩散的SSDP报文,网卡会要吗?

不会要的,因为该报文的目的MAC= 01:00:5e:xx:xx:xx(xx:xx:xx为127.255.250换算成16进制),不在网卡MAC允许列表。所以未订阅主机网卡可以看到SSDP报文,但是不会接收,会扔掉,会在告诉Wireshark之前扔掉,所以Wireshark也是看不到的。

怎样才能让Wireshark看到未订阅的SSDP组播报文?

很简单,只要将网卡配置成混杂模式即可,那样的话,网卡不再检查目的MAC是否在允许之列,而是网卡只要看到的包,统统接收。当然还有一个例外,CRC校验出错死活是要扔的,所以,即使在混杂模式下,Wireshark也是看不到CRC出错的报文。

最后,计算机还会接收目的IP=255.255.255.255的广播报文,这点不奇怪吧,DHCP恰恰就是利用这一点来工作的。试想,在DHCP没有获得IP地址之前,是不是没有IP地址?但是依然可以通过接收目的IP=255.255.255.255 的DHCP报文与DHCP服务器通信。

最后的最后,计算机还会接收目的MAC= FF:FF:FF:FF:FF:FF的二层广播报文,比如ARP广播报文,来辅助TCP/IP协议栈完成IP地址与MAC地址的翻译工作。

wireshark地址
本作品采用《CC 协议》,转载必须注明作者和本文链接
Windows安全工具锦集
2023-01-07 11:03:54
解决了OD对64位应用程序调试上的缺陷:下载地址:https://x64dbg.com/#startdnSpy一款针对.NET程序的开源逆向程序的工具。还能设置断点,修改请求和响应的数据,模拟弱网络环境。支持插件扩展:下载地址:https://www.telerik.com/download/fiddlerMicrosoftNetwork Monitor只支持Windows平台的网络数据分析工具,提供了一个专业的网路实时流量图形界面,拥有识别和监控超过300种网络协议的能力:下载地址:https://www.microsoft.com/en-us/download/details.aspx?
start某单位接到上级单位通报存在挖矿病毒,通报的地址0.58是一台路由器的地址,拓扑情况是该单位出口是一台路由器,路由器的镜像接口接到上级单位的感知设备上,出口地址肯定是做了NAT转换,所上级单位下发的通告中受害IP只是一台路由器。安全设备上未能发现有效信息,只能人工去分析。DNS协议运行在UDP协议之上,使用53端口号。上杀软发现好多高危。
IP地址冲突是指在局域网中某主机配置了与其他主机相同的IP地址导致原主机无法正常处理业务,这种信息故障事件对于实时交易业务尤其是金融行业业务会带来严重影响,快速检测网络中IP地址冲突并定位至关重要。
SEQ分为相对序列号和绝对序列号,默认是相对序列号显示就是0 1不便于查看,修改成绝对序列号方法请参考第三式。我们从而知道TCP报文字段里是有序列号的,我们可以把它当做唯一标示来进行分析,也可以通过序列号进行排序。一般抓出来的都是相对序列号0 1不容易分析,这里我们通过如下方式进行修改为绝对序列号。
我们从而知道TCP报文字段里是有序列号的,可以把它当做唯一标示来进行分析,也可以通过序列号进行排序。把TCP的这个选项去除掉。Statistics------conversations数据包解码IPS发送攻击日志和防病毒日志信息端口号都是30514,SecCenter上只显示攻击日志,不显示防病毒日志。
很多人跟我说wireshark抓取的是安装这个软件的主机收到或者发送的数据。以至于局域网内的每一台主机(已订阅)都可以收到SSDP服务发布。所以未订阅主机网卡可以看到SSDP报文,但是不会接收,会扔掉,会在告诉Wireshark之前扔掉,所以Wireshark也是看不到的。很简单,只要将网卡配置成混杂模式即可,那样的话,网卡不再检查目的MAC是否在允许之列,而是网卡只要看到的包,统统接收。
网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。
VSole
网络安全专家