Networking 无法找到带有Wireshark(通过Wi-Fi)的特定设备的流量

Networking 无法找到带有Wireshark(通过Wi-Fi)的特定设备的流量,networking,tcp,wifi,wireshark,wpa,Networking,Tcp,Wifi,Wireshark,Wpa,我有一个与我的机器上运行的TCP服务器通信的设备。我的机器通常通过以太网连接到网络,但我也有一个无线适配器,可以用来连接到路由器。设备(TCP客户端)已连接到我的路由器(WPA2个人/AES加密/安全密钥) 我可以看到我的以太网适配器上带有Wireshark的设备与我的服务器通信。查看无线适配器时找不到设备(我正在通过IP查找设备)。我进入编辑>首选项>协议>IEEE 802.11无线局域网>解密密钥>然后设置wpa=pwd“密码:ssid”和wep psk“我生成的密钥” 我从来没有使用Wir

我有一个与我的机器上运行的TCP服务器通信的设备。我的机器通常通过以太网连接到网络,但我也有一个无线适配器,可以用来连接到路由器。设备(TCP客户端)已连接到我的路由器(WPA2个人/AES加密/安全密钥)

我可以看到我的以太网适配器上带有Wireshark的设备与我的服务器通信。查看无线适配器时找不到设备(我正在通过IP查找设备)。我进入编辑>首选项>协议>IEEE 802.11无线局域网>解密密钥>然后设置wpa=pwd“密码:ssid”和wep psk“我生成的密钥”

我从来没有使用Wireshark来查看不是源于我的PC的流量,但是在这个特殊情况下,有必要对问题进行故障排除。任何帮助都将不胜感激。

(在我想到这一点的时候,首先:这一问题的根本原因与加密没有任何关系-否则你会看到流量,当然是加密的,但你仍然会看到“东西”通过。)

如果该设备是多播或广播的,您将只看到进出该设备的流量。

这是因为在Wi-Fi/802.11中,AP(接入点)和STA(站点)之间的通信方式不同。在802.11级别,假设STA a和STA B之间的每个“单播”[0]通信实际上并不直接从STA a到STA B:首先是从STA a到AP的802.11帧,然后AP将其发送到STA B等

因此,如果您的设备发送一些多播/广播流量,您将看到这一点,但只有这一点(对多播/广播的响应通常是单播的)

您可能会看到一些来自该站点的流量,例如ARP请求——这是broascast,因此AP的任务是将其发送到所有STA。你会看到这些

在Wi-Fi上下文中,这种流量的另一个非常常见的例子是STA是否是DHCP客户端。然后您将看到DHCP请求。在典型场景中,该STA将在与AP关联/认证之后立即发出这样的DHCP请求。在这种情况下,从运行wireshark的PC(这是来自同一AP的另一个STA)上,您将看到DHCP请求,因为它是广播的,AP将分发它(我有意不使用术语“转发”)。但通常不会更多,因为在典型场景中,AP也是DHCP服务器,因此关于该DHCP过程的其余通信将直接发生在AP和所述STA之间。不过,您还应该看到上述DHCP客户端STA发出的ARP请求(见上文),以检查DHCP服务器刚刚提供的IP是否确实是免费的,因为如果正确实现,DHCP协议要求[1]

您可能看到的另一个不太常见但也不太罕见的流量是固有的广播流量:

  • ICMPv6邻居邀请/广告(来自运行 具有双IP堆栈的现代操作系统)
  • Dropbox LAN发现协议(哦,从 普通电脑(STA)
  • UPnP SSDP(即端口1900上的UDP多播)
  • …而且可能更多,这取决于在中运行的应用程序 STA(当然也可以是AP,如DHCP)
在AP/STA设置中使用Wi-Fi/802.11时,这是一个需要理解且永远不要忘记的基本点:所有通信都通过AP进行,而不是STA[2][3]之间的直接通信。

如果您“从未使用Wireshark查看非源于我的PC的流量”,您可能不熟悉,但请注意,这不是重点,也不会有帮助:混杂模式只能帮助查看到达网络接口但通常会被其驱动程序或操作系统堆栈丢弃的流量。但在这里,流量实际上从来不会首先到达您的接口,因为AP不会在基本802.11级别向其发送流量:AP的基本作用是充当STA之间的桥梁(“交换机”),而您的情况与有线以太网交换机相同,您需要在交换机上进行端口镜像才能查看此类流量,因为交换机足够智能,不会将此流量发送到您要连接的端口

在802.11上下文中,除了“常规模式”和“混杂模式”之外,还有第三种模式:。在监控模式下-如果一切正常,因为这并不总是显而易见-运行
wireshark
的包嗅探PC将不会成为STA,也不会以任何方式参与任何Wi-Fi流量,但您可以“看到一切”(如果有加密,则加密,但
wireshark
可以提供帮助)

有关Wi-Fi数据包嗅探的棘手问题,请参阅:

(虽然针对的是
wireshark
,但技术概念也适用于其他基于
pcap
的工具,例如
libpcap
(当然……),但也适用于
tcpdump

[0] 我在这里使用术语“单播”是在它的根级别,也就是说不是在它的“IP/第3层”含义中(我们在802.11级别,即物理层(第1层)+媒体访问控制,也称为MAC(第2层)-媒体是“空气”,但更根本的是“单播=从特定实体a到另一个特定实体B的通信”

[1] : 从,3.1客户端-服务器交互-分配网络地址,第16页,第5段:

客户应对参数(如ARP)进行最终检查 用于分配的网络地址),并记录租约的期限 在DHCPACK消息中指定。此时,客户端为 已配置。如果客户端检测到该地址已在使用中 (例如,通过使用ARP),客户机必须发送DHCPD 给服务器的消息
ssh foo@device "/usr/sbin/tcpdump -U -s0 -w - -i <wireless interface on the device> 'not port 22'" | wireshark -k -i -