如何在 Wireshark 中捕获 LAN 设备的数据包?

信息安全 线鲨
2021-08-29 10:58:19

设置

  • 运行 Wireshark 的 PC,连接到无线网络(如果操作系统变化是一个问题,请在 Linux 上使用 Wireshark)。

  • 另一台设备以无线方式连接到同一个 LAN。

  • 无线网络使用 WPA2 加密

问题

在我的 PC 上使用 Wireshark,我如何捕获 LAN 上其他设备发送和接收的所有数据包?

例子

我想使用在 Debian 上运行的 Wireshark 来捕获在我的同一网络上进出 Android 设备的所有 YouTube 数据包。

4个回答

如果你们都在使用 WiFi(使用基于 WPA 的预共享密钥加密),事情真的很简单(如果你在有线网络上就不会出现这种情况):

  • 在您的计算机上启动 Wireshark
  • 在 Wireshark 的设置中设置 WPA 密钥
  • 在您的无线接口上开始数据包捕获(在 Linux 中,您应该将无线设备置于监控模式以收集所有数据包)
  • 强制目标设备与 AP 重新关联(关闭/打开 wifi,关闭/打开 AP 等)
  • 使用 Wireshark 观察 4 次握手(感谢上一步)
  • 在你的安卓设备上做任何你想做的事来产生流量
  • 在 Wireshark 中查看未加密的无线流量
  • 享受!

使用在 Wireshark 中设置的 WPA 密钥,它将即时解密数据包,从而允许您查看 Android 设备的流量。

编辑以包括解密 WPA 保护流量的必要步骤,即观察 4 次握手

好吧,直接从您的计算机或 Android 设备捕获流量并不是最简单(或最好的主意)。当我想做这类事情时,我启动 ssh 到我的无线路由器并执行tcpdump -i br0以便我可以捕获来自通过我的路由器访问互联网的每台设备的流量。如果您可以通过 ssh 连接到您的 wifi 路由器并在路由器的busybox(或任何其他嵌入式 linux)中安装 tcpdump,那么您就可以开始了。只需执行上面的命令。

假设您不想执行 MITM 攻击(中间人攻击),这有点难以设置,我建议使用基于网络的解决方案:

  1. 设置接入点
  2. 将您的接入点连接到集线器(使用普通网线)
  3. 将您的计算机(应该运行wireshark)连接到集线器(使用常规网络电缆)
  4. 将集线器连接到路由器(同样,使用普通网线)
  5. 开始用wireshark嗅探:)
  6. 将您的 Android 或任何其他移动设备连接到接入点 (Wifi)

几周前我实际上在玩这个,虽然使用 Burp 而不是 Wireshark。我使用软件定义的路由器通过我的渗透测试盒路由流量,并通过REDIRECTSSH 隧道使用 IPTables 的目标进行重定向。这可能是矫枉过正,但允许将流量重定向到任何你想要的地方。您也可以从运行 linux 的路由器执行此操作。

其他选项包括将您的计算机设置为接入点并将您的设备连接到它,或使用@MatToufoutu 描述的技术,让 Wireshark 解密流量,但您可能会错过一些被噪音隐藏或超出范围的流量。