如何在Wireshark上捕获移动电话流量?


以下是一些建议:

For Android phones, any network: Root your phone, then install tcpdump on it. This app is a tcpdump wrapper that will install tcpdump and enable you to start captures using a GUI. Tip: You will need to make sure you supply the right interface name for the capture and this varies from one device to another, eg -i eth0 or -i tiwlan0 - or use -i any to log all interfaces For Android 4.0+ phones: Android PCAP from Kismet uses the USB OTG interface to support packet capture without requiring root. I haven't tried this app, and there are some restrictions on the type of devices supported (see their page) For Android phones: tPacketCapture uses the Android VPN service to intercept packets and capture them. I have used this app successfully, but it also seems to affect the performance with large traffic volumes (eg video streaming) For IOS 5+ devices, any network: iOS 5 added a remote virtual interface (RVI) facility that lets you use Mac OS X packet trace programs to capture traces from an iOS device. See here for more details For all phones, wi-fi only: Set up your Mac or PC as a wireless access point, then run wireshark on the computer. For all phones, wi-fi only: Get a capture device that can sniff wi-fi. This has the advantage of giving you 802.11x headers as well, but you may miss some of the packets Capture using a VPN server: Its fairly easy to set-up your own VPN server using OpenVPN. You can then route your traffic through your server by setting up the mobile device as a VPN client and capture the traffic on the server end.


除了鲁佩罗精彩的回答之外,还有一个“肮脏”但非常有效的技巧:

对于所有手机,任何(本地)网络:将您的PC设置为Man-In-The-Middle移动设备。

使用Ettercap在您的移动设备和路由器之间进行ARP欺骗,您的所有移动通信将出现在Wireshark中。有关设置细节,请参阅本教程


让你的笔记本电脑成为手机(任何手机)的wifi热点,并将其连接到互联网。使用wireshark在wifi接口上嗅探流量。

你会知道很多反隐私的东西!


对于Android手机,我使用tPacketCapture: https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.packetcapture&hl=en

这个应用程序是一个救生员,我正在调试我的Android应用程序上SSL/TLS握手失败的问题。试图设置自组网,这样我就可以在我的笔记本电脑上使用wireshark。这对我没用。这个应用程序很快让我捕捉网络流量,分享到我的谷歌驱动器上,这样我就可以下载到我的笔记本电脑上,在那里我可以用Wireshark检查它!太棒了,不需要根!


这里没有建议的另一个选项是在Android模拟器中从Android SDK运行你想监控的应用程序。然后,您可以在同一台机器上使用wireshark轻松捕获流量。

这对我来说是最简单的选择。


在你的电脑上安装Fiddler,并在你的Android设备上使用它作为代理。

来源:http://www.cantoni.org/2013/11/06/capture-android-web-traffic-fiddler


与让你的PC成为无线接入点类似,但更简单的方法是使用反向系带。如果你刚好有一部HTC手机,在网络/移动网络共享设置下,他们有一个很好的反向绑定选项,叫做“互联网传输”。它通过你的PC路由你所有的流量,你可以在那里运行Wireshark。


Wireshark + OSX + iOS:

到目前为止,很好的概述,但如果你想要Wireshark + OSX + iOS的细节:

在你的电脑上安装Wireshark 通过USB线连接iOS设备到计算机 将iOS设备和电脑连接到同一个WiFi网络 在OSX终端窗口中执行此命令:rvictl -s x,其中x为iOS设备的UDID。你可以通过iTunes找到iOS设备的UDID(确保你使用的是UDID而不是序列号)。 goto Wireshark Capture->Options,弹出对话框,单击rvi0行,然后按下开始按钮。

现在你将看到iOS设备上的所有网络流量。这可能会让人不知所措。这里有几个提示:

不要使用iOS和VPN,你无法理解加密的流量 使用简单的过滤器来关注有趣的流量 Ip.addr ==204.144.14.134查看源地址或目的地址为204.144.14.134的流量 HTTP只查看HTTP流量

下面是一个描述TCP流量的示例窗口,用于204.144.14.134的pdf下载:


Android应用程序实现了一个VPN,记录Android设备上的所有网络流量。您不需要在您的PC上设置任何VPN/代理服务器。不需要根。支持SSL解密,而tPacketCapture不支持。它还包括一个良好的日志查看器。


对于Android,我之前使用了tPacketCapture,但它不适用于流媒体视频应用。我现在用的是Shark。你需要root用户才能使用它。

它使用TCPDump(检查您可以传递的参数)并创建一个可以被Wireshark读取的pcap文件。默认参数对我来说通常已经足够好了。


前提条件:您的计算机上已经安装了adb和wireshark,并且您的android设备已经root。

下载tcpdump到~/Downloads adb push ~/下载/tcpdump /sdcard/ 亚行壳 苏根 Mv /sdcard/tcpdump /data/local/ cd /数据/地方/ Chmod +x tcpdump ./tcpdump -vv -i any -s 0 -w /sdcard/dump.pcap 在捕获足够多的包后按CTRL+C。 退出 退出 Adb拉/sdcard/dump。pcap ~ /下载/

现在您可以使用Wireshark打开pcap文件。


我也遇到过类似的问题,启发我开发了一款应用程序,可以帮助捕捉Android设备的流量。该应用程序具有SSH服务器,允许您在Wireshark中有流量(sshdump Wireshark组件)。由于该应用程序使用名为VPNService的操作系统功能来捕获流量,因此它不需要根访问。

该应用程序处于早期测试阶段。如果你有任何问题/建议,请尽管告诉我。

从播放中下载

教程,你可以在其中阅读更多的细节


对于iOS设备:

打开终端,简单地写:

rvictl -s udid

它会在Wireshark上打开一个有名字的接口,在我的例子中是rvi0。

udid是iPhone的唯一设备id。

(如何找到我的iOS设备UDID)


作为Wireshark的替代品/ Android的伙伴,您可以尝试我的开源应用程序PCAPdroid。在非根设备上,它使用VPNService捕获流量,但有一些限制。在根设备上,它的工作方式类似于用户友好的tcpdump。

您可以直接在应用程序中分析连接和数据包负载,也可以将流量以PCAP格式导出到PC上使用Wireshark进行分析。它还有许多其他很酷的功能,试试看吧!