如何在Wireshark上捕获手机流量?
答案 0 :(得分:323)
以下是一些建议:
对于Android手机,任何网络:将您的手机设为root,然后在其上安装tcpdump。 This app是一个tcpdump包装器,它将安装tcpdump并使您能够使用GUI启动捕获。 提示:您需要确保为捕获提供正确的接口名称,这在不同设备之间有所不同,例如 -i eth0 或 -i tiwlan0 - 或使用 -i any 记录所有接口
适用于Android 4.0及以上的手机:Android PCAP from Kismet使用USB OTG接口支持数据包捕获,无需root权限。我没有尝试过这个应用程序,并且支持的设备类型有一些限制(参见他们的页面)
对于Android手机:tPacketCapture使用Android VPN服务截取数据包并捕获它们。我已成功使用此应用程序,但它似乎也会影响大流量的性能(例如视频流)
对于IOS 5+设备,任何网络:iOS 5添加了远程虚拟接口(RVI)工具,可让您使用Mac OS X数据包跟踪程序从iOS设备捕获跟踪。有关详细信息,请参阅here
对于所有手机,仅限wi-fi: Set up your PC as a wireless access point,然后在PC上运行wireshark
对于所有手机,仅限wi-fi:获取可以嗅探Wi-Fi的a capture device。这样做的好处是可以为您提供802.11x标头,但您可能会错过一些数据包
使用VPN服务器捕获:set-up your own VPN server使用OpenVPN非常容易。然后,您可以通过将移动设备设置为a VPN client来路由您的服务器,并捕获服务器端的流量。
答案 1 :(得分:34)
除了rupello的优秀答案外,还有一个“肮脏”但非常有效的伎俩:
适用于所有手机,任何(本地)网络:将您的PC设置为Man-In-The-Middle您的移动设备。
使用Ettercap在您的移动设备和路由器之间执行ARP spoofing,所有移动设备的流量都会显示在Wireshark中。有关设置详细信息,请参阅this tutorial
答案 2 :(得分:23)
此处未建议的另一个选项是从Android SDK运行您要在Android模拟器中监控的应用。然后,您可以使用wireshark在同一台计算机上轻松捕获流量。
这对我来说是最简单的选择。
答案 3 :(得分:16)
Wireshark + OSX + iOS:
到目前为止的精彩概述,但如果您需要Wireshark + OSX + iOS的详细信息:
rvictl -s x
其中x
是iOS设备的UDID。您可以通过iTunes找到iOS设备的UDID(确保使用的是UDID而不是序列号)。Capture->Options
,会出现一个对话框,点击rvi0
行,然后按Start
按钮。现在,您将看到iOS设备上的所有网络流量。它可能非常压倒性。几点:
ip.addr==204.144.14.134
查看源或目标地址为204.144.14.134 http
仅查看http流量这是一个示例窗口,描述了从204.144.14.134下载pdf的TCP流量:
答案 4 :(得分:8)
对于Android手机,我使用了tPacketCapture: https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.packetcapture&hl=en
这个应用程序是一个救生员我正在调试我的Android应用程序上的SSL / TLS握手失败的问题。试图设置ad hoc网络,所以我可以在笔记本电脑上使用wireshark。它对我不起作用。这个应用程序很快让我捕获网络流量,在我的Google云端硬盘上分享它,这样我就可以在笔记本电脑上下载,我可以用Wireshark查看它!太棒了,不需要root!
答案 5 :(得分:7)
Packet Capture Android app实现了一个记录Android设备上所有网络流量的VPN。您不需要在PC上设置任何VPN /代理服务器。不需要root。支持tPacketCapture不支持的SSL解密。它还包括一个很好的日志查看器。
答案 6 :(得分:3)
在您的PC上安装Fiddler并将其用作Android设备上的代理。
来源:http://www.cantoni.org/2013/11/06/capture-android-web-traffic-fiddler
答案 7 :(得分:3)
与使您的PC成为无线接入点类似,但可以更容易,使用反向网络共享。如果你碰巧有一部HTC手机,他们会在网络/移动网络共享设置下有一个很好的反向网络选项,称为“互联网直通”。它通过您的PC路由您的所有流量,您可以在那里运行Wireshark。
答案 8 :(得分:2)
让您的笔记本电脑成为手机(任何)的wifi热点,并将其连接到互联网。使用wireshark在wifi接口上嗅探流量。
你会了解很多反隐私的东西!
答案 9 :(得分:1)
对于Android ,我之前使用的是tPacketCapture,但它对于播放某些视频的应用效果不佳。我现在正在使用Shark。您需要root 才能使用它。
它使用 TCPDump (检查arguments you can pass)并创建一个可由Wireshark读取的 pcap文件。默认参数通常对我来说足够好。
答案 10 :(得分:1)
前提条件:您的计算机上已经安装了adb和wirehark,并且您已经拥有一个扎根的android设备。
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
exit
exit
adb pull /sdcard/dump.pcap ~/Downloads/
现在您可以使用Wireshark打开pcap文件。
答案 11 :(得分:0)
我遇到了类似的问题,这激发了我开发一款可以帮助捕获Android设备流量的应用程序。该应用程序具有SSH服务器,可让您即时(@ sshdump wireshark component)中访问Wireshark。由于该应用使用名为VPNService的操作系统功能来捕获流量,因此不需要root访问权限。
该应用处于早期Beta版。如果您有任何问题/建议,请随时让我知道。
答案 12 :(得分:0)
对于iOS设备:
⦿打开终端,只需输入:
rvictl -s udid
它将在Wireshark上打开一个名称为rvi0的接口。
udid是iPhone的唯一设备ID。