如何在 Wireshark 上捕获手机流量?
以下是一些建议:
对于 Android 手机,任何网络:根您的手机,然后在其上安装 tcpdump。这个应用程序是一个 tcpdump 包装器,它将安装 tcpdump 并使您能够使用 GUI 开始捕获。提示:您需要确保为捕获提供正确的接口名称,这因设备而异,例如 -i eth0 或 -i tiwlan0 - 或使用 -i any 记录所有接口 对于 Android 4.0+ 手机: Kismet 的 Android PCAP 使用 USB OTG 接口支持数据包捕获,无需 root。我没有尝试过这个应用程序,并且对支持的设备类型有一些限制(参见他们的页面) 对于 Android 手机:tPacketCapture 使用 Android VPN 服务来拦截数据包并捕获它们。我已经成功使用了这个应用程序,但它似乎也影响了大流量(例如视频流)的性能对于 IOS 5+ 设备,任何网络:iOS 5 添加了一个远程虚拟接口 (RVI) 工具,让您可以使用 Mac OS X 数据包跟踪程序,用于从 iOS 设备捕获跟踪。有关详细信息,请参阅此处 对于所有手机,仅限 wi-fi:将您的 Mac 或 PC 设置为无线接入点,然后在计算机上运行 wireshark。对于所有手机,仅限 Wi-Fi:获取可以嗅探 Wi-Fi 的捕获设备。这也有为您提供 802.11x 标头的优势,但您可能会错过使用 VPN 服务器捕获的一些数据包:使用 OpenVPN 设置您自己的 VPN 服务器相当容易。然后,您可以通过将移动设备设置为 VPN 客户端并在服务器端捕获流量来路由您的流量。
除了 rupello 的出色回答之外,还有一个“肮脏”但非常有效的技巧:
对于所有手机,任何(本地)网络:将您的 PC 设置为Man-In-The-Middle您的移动设备。
使用Ettercap在您的移动设备和路由器之间进行ARP spoofing,您的所有移动流量都会出现在 Wireshark 中。有关设置的详细信息,请参见 this tutorial
此处未建议的另一个选项是从 Android SDK 在 Android 模拟器中运行您要监控的应用程序。然后,您可以在同一台机器上使用wireshark 轻松捕获流量。
这对我来说是最简单的选择。
Wireshark + OSX + iOS:
到目前为止的概述很好,但是如果您想要 Wireshark + OSX + iOS 的详细信息:
在您的计算机上安装 Wireshark
通过 USB 数据线将 iOS 设备连接到计算机
将 iOS 设备和电脑连接到同一个 WiFi 网络
在 OSX 终端窗口中运行此命令:rvictl -sx 其中 x 是您的 iOS 设备的 UDID。您可以通过 iTunes 找到您 iOS 设备的 UDID(确保您使用的是 UDID 而不是序列号)。
转到 Wireshark Capture->Options,出现一个对话框,单击 rvi0 行,然后按开始按钮。
https://i.stack.imgur.com/mufET.png
现在您将看到 iOS 设备上的所有网络流量。它可能非常压倒性。几个指针:
不要将 iOS 与 VPN 一起使用,您无法理解加密流量
使用简单的过滤器来关注有趣的流量
ip.addr==204.144.14.134 查看源或目的地址为 204.144.14.134 的流量
http 仅查看 http 流量
这是一个示例窗口,描述了从 204.144.14.134 下载 pdf 的 TCP 流量:
https://i.stack.imgur.com/4l7tC.jpg
对于 Android 手机,我使用了 tPacketCapture:https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.packetcapture&hl=en
这个应用程序是一个救星我在我的 Android 应用程序上调试 SSL/TLS 握手失败的问题。尝试设置临时网络,以便我可以在笔记本电脑上使用wireshark。它对我不起作用。这个应用程序很快让我能够捕获网络流量,将其分享到我的 Google Drive 上,这样我就可以下载到我的笔记本电脑上,然后我可以使用 Wireshark 检查它!太棒了,无需root!
Packet Capture Android app 实现了一个记录 Android 设备上所有网络流量的 VPN。您无需在 PC 上设置任何 VPN/代理服务器。不需要root。支持 tPacketCapture 不支持的 SSL 解密。它还包括一个很好的日志查看器。
前提条件: adb 和 wireshark 已安装在您的计算机上,并且您有一个 root 的 android 设备。
下载 tcpdump 到 ~/Downloads adb push ~/Downloads/tcpdump /sdcard/ adb shell su root mv /sdcard/tcpdump /data/local/ cd /data/local/ chmod +x tcpdump ./tcpdump -vv -i any -s 0 -w /sdcard/dump.pcap CTRL+C 捕获足够的数据包后。退出退出 adb pull /sdcard/dump.pcap ~/Downloads/
现在您可以使用 Wireshark 打开 pcap 文件。
在您的 PC 上安装 Fiddler 并将其用作 Android 设备上的代理。
来源:http://www.cantoni.org/2013/11/06/capture-android-web-traffic-fiddler
与使您的 PC 成为无线接入点类似,但更容易的是使用反向网络共享。如果你碰巧有一部 HTC 手机,他们在网络/移动网络共享设置下有一个很好的反向共享选项,称为“Internet pass-through”。它通过您的 PC 路由您的所有流量,您可以在那里运行 Wireshark。
让您的笔记本电脑成为您手机(任何)的 wifi 热点并将其连接到互联网。使用wireshark在你的wifi接口上嗅探流量。
你会了解很多反隐私的东西!
对于 Android,我之前使用过 tPacketCapture,但它不适用于流式传输视频的应用。我现在正在使用 Shark。你需要root才能使用它。
它使用 TCPDump(检查 arguments you can pass)并创建一个可由 Wireshark 读取的 pcap 文件。默认参数通常对我来说已经足够好了。
作为 Android 的 Wireshark 替代品/伴侣,您可以试用我的开源应用程序 PCAPdroid。在非 root 设备上,它使用 VPNService 来捕获流量,但有一些限制。在有根设备上,它就像一个用户友好的 tcpdump 一样工作。
您可以将连接和数据包负载直接分析到应用程序中,或者以 PCAP 格式导出流量,以便使用 Wireshark 在 PC 上进行分析。它还有许多其他很酷的功能,试试吧!
我遇到了一个类似的问题,这激发了我开发一个可以帮助从 Android 设备捕获流量的应用程序。该应用程序具有 SSH 服务器,可让您在 Wireshark 中即时获取流量 (sshdump wireshark component)。由于该应用程序使用称为 VPNService 的操作系统功能来捕获流量,因此不需要 root 访问权限。
该应用程序处于早期测试阶段。如果您有任何问题/建议,请随时告诉我。
Tutorial in which you could read additional details
对于 iOS 设备:
⦿ 打开终端并简单地写:
rvictl -s udid
它会在 Wireshark 上打开一个带有名称的界面,在我的例子中是 rvi0。
https://i.stack.imgur.com/b0vHs.png
udid 是 iPhone 的唯一设备 ID。
(How to find my iOS Device UDID)
不定期副业成功案例分享