我有以下设置:
MacBook Pro 2012
macOS 10.12.4
Wire Shark 中的
在 Capture>Options>Wifi En1 链路层报头下设置为 802.11;Moniter 和混杂模式已启用
在 Wireshark>协议>IEEE 802.11>解密密钥下(我正在尝试解密 WPA2 Personal)
密钥类型:wpa 密码
钥匙:密码:ssid
我只看到协议 802.11,很少看到 SSDP,很少看到 ICMPv6,很少看到 LLC
我希望能够看到我身边的 iPhone 上的 http 协议。
如果我用 Mac 访问某个网站,我会看到 http,但如果我用 iPhone 访问,则看不到。
我附加了几张图片:
谢谢你的帮助!
答案1
要解密受 WPA-PSK 或 WPA2-PSK 保护的流量,您必须在连接开始时捕获 eapol-key 握手。因此,当尝试捕获您自己机器的流量时,您必须在加入网络之前开始捕获。即使这样,我也不确定它是否会起作用,因为由 Wi-Fi 芯片组本身生成的数据包(而不是由在 macOS 内核空间中运行的 Wi-Fi 驱动程序生成的数据包)不会传递回 macOS 并传递给 BPF,因此像 wireshark 这样的嗅探器永远看不到它们。
答案2
我没有试图拦截 iPad 和 WiFi 路由器之间的通信,而是在计算机上创建了 Internet 连接共享 WiFi 网络,并将 iPad 设置为使用我创建的热点。我的电脑也通过以太网连接。由于它处于对话中间,因此无需从侧面窃听,因此可以更直接地检查往返于 iPad 的通信,并且不需要在我的tcpdump
命令中添加任何加密密钥。
iPad 的 IP 地址为 192.168.3.3,位于接口 EN1(我的 Mac 的 WiFi 接口)上。
然后,通过捕获往返于 EN1 上的 192.168.3.3 的流量,我就可以捕获发送到我的 iPad 的数据,而无需处理加密密钥。
我正在使用tcpdump
,但我相信WireShark的功能和输出类似......
[nevin-mac-mini:~] root# tcpdump -i en1 -n -s 1500 主机 192.168.3.3 tcpdump:抑制详细输出,使用 -v 或 -vv 用于完整协议解码 监听 en1,链接类型 EN10MB(以太网),捕获大小 1500 字节 23:32:02.470713 IP 192.168.3.3.60922 > #.#.#.#.80: 标志 [P.]、seq 1:368、ack 1、win 2058、options [nop,nop,TS 值 1300636770 ecr 2646279932], 长度 367:HTTP:GET /~nevin/HTTP/1.1