如何在Wireshark上捕获移动电话流量?
以下是一些建议:
对于安卓手机,任何网络:根你的手机,然后安装tcpdump。这个程序是一个tcpdump包装器,它将安装tcpdump,并允许您使用GUI启动捕获。提示:您需要确保为捕获提供正确的接口名称,这因设备而不同,例如-i eth0或-i tiwlan0 -或使用我任何记录所有接口
适用于Android 4.0+手机: Kismet的Android PCAP使用USB OTG接口,支持抓包,不需要root。我还没有试用过这个应用程序,支持的设备类型也有一些限制(见他们的页面)。
Android手机: tPacketCapture使用Android VPN服务拦截并捕获数据包。我已经成功地使用了这个应用程序,但它似乎也会影响大流量的性能(例如视频流)
对于IOS 5+设备,任何网络: iOS 5增加了一个远程虚拟接口(RVI)功能,允许你使用Mac OS X包跟踪程序从iOS设备捕获跟踪。更多细节见在这里
所有手机只支持wi-fi:获取可以嗅探wi-fi的一种捕获装置制造技术。这样做的好处是可以为您提供802.11x报头,但您可能会错过一些数据包
使用VPN服务器进行捕获:使用OpenVPN很容易设置自己的VPN服务器。然后,通过将移动设备设置为VPN客户端,并在服务器端捕获流量,可以将流量路由到服务器。
除了鲁佩罗精彩的回答之外,还有一个“肮脏”但非常有效的技巧:
所有电话,任何(本地)网络:设置你的PC到中间人你的移动设备。
使用Ettercap在你的移动设备和路由器之间做ARP欺骗,你所有的移动通信都将出现在Wireshark中。有关设置细节,请参见本教程
让你的笔记本电脑成为手机(任何手机)的wifi热点,并将其连接到互联网。使用wireshark在wifi接口上嗅探流量。
你会知道很多反隐私的东西!
这个应用程序是一个救生员,我正在调试我的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的细节:
rvictl -s x
x
Capture->Options
rvi0
Start
.
现在你将看到iOS设备上的所有网络流量。这可能会让人不知所措。这里有几个提示:
ip.addr==204.144.14.134
http
下面是一个描述TCP流量的示例窗口,用于204.144.14.134的pdf下载:
Android应用程序实现了一个VPN,记录Android设备上的所有网络流量。您不需要在您的PC上设置任何VPN/代理服务器。不需要根。支持SSL解密,而tPacketCapture不支持。它还包括一个良好的日志查看器。
为安卓,我以前使用tPacketCapture,但它不能很好地为应用程序流媒体一些视频。我现在使用鲨鱼。你需要是根用户使用它。
它使用TCPDump(检查可以传递的参数)并创建一个可以被Wireshark读取的pcap文件。默认参数对我来说通常已经足够好了。
前提条件:您的计算机上已经安装了adb和wireshark,并且您的android设备已经root。
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
exit
adb pull /sdcard/dump.pcap ~/Downloads/
现在您可以使用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进行分析。它还有许多其他很酷的功能,试试看吧!