it-swarm.asia

在Wireshark上捕获手机流量

如何在Wireshark上捕获手机流量?

227
Xara

以下是一些建议:

  1. 对于Android手机,任何网络 :根您的手机,然后在其上安装tcpdump。 此app 是一个tcpdump包装器,它将安装tcpdump并使您能够使用GUI启动捕获。 提示:您需要确保为捕获提供正确的接口名称,这因设备而异,例如 -i eth0 -i tiwlan0 - 或使用 -i any 来记录所有接口

  2. 对于Android 4.0+手机 来自Kismet 的Android PCAP使用USB OTG接口来支持数据包捕获而无需root。我没有试过这个应用程序,并且支持的设备类型有一些限制(参见他们的页面)

  3. 对于Android手机 tPacketCapture 使用Android VPN服务拦截数据包并捕获它们。我已成功使用此应用程序,但它似乎也会影响大流量的性能(例如视频流)

  4. 对于IOS 5+设备,任何网络 :iOS 5添加了一个 远程虚拟接口(RVI) facility,可让您使用Mac OS X数据包跟踪程序捕获来自iOS设备的痕迹。有关详细信息,请参见 here

  5. 对于所有手机,仅限Wi-Fi: 将您的PC设置为无线接入点 ,然后在PC上运行wireshark

  6. 对于所有手机,仅限wi-fi: 获取 一个可以嗅探Wi-Fi的捕获设备 。这样做的好处是可以为您提供802.11x标头,但您可能会错过一些数据包

  7. 使用VPN服务器捕获 :使用OpenVPN很容易 设置自己的VPN服务器 。然后,您可以通过将移动设备设置为 VPN客户端 来路由您的服务器,并捕获服务器端的流量。

322
rupello

除了rupello的优秀答案,一个“脏”但非常有效的技巧:

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

使用 Ettercap 在移动设备和路由器之间执行 ARP欺骗 ,所有移动设备的流量都会显示在Wireshark中。有关设置详细信息,请参阅 本教程

34
minipif

此处未建议的另一个选项是从Android SDK运行您要在Android模拟器中监控的应用。然后,您可以使用wireshark在同一台计算机上轻松捕获流量。

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

23
MazeChaZer

Wireshark + OSX + iOS:

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

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

Wireshark Capture Options Dialog Box

现在,您将在iOS设备上看到所有网络流量。它可能非常压倒性。几个指针:

  • 不要将iOS与VPN一起使用,您无法理解加密的流量
  • 使用简单的过滤器来关注有趣的流量
  • ip.addr==204.144.14.134查看源或目标地址为204.144.14.134的流量
  • http仅查看http流量

这是一个示例窗口,描述了从[204.144.14.134]下载pdf的TCP流量:

Wireshark TCP traffic for pdf download from 204.144.14.134

16
drbobdugan

对于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!

8
Farrukh Najmi

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

7
Akira Yamamoto

类似于使您的PC成为无线接入点,但可以更容易,使用反向网络共享。如果您碰巧拥有HTC手机,他们会在网络/移动网络共享设置下使用名为“Internet pass-through”的Nice反向网络共享选项。它通过您的PC路由您的所有流量,您可以在那里运行Wireshark。

3
Peter Jeffe

在您的PC上安装Fiddler并将其用作Android设备上的代理。

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

3
Pieter De Clercq

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

你会了解很多反隐私的东西!

2
FireCruZ

前提条件:adb和wireshark已安装在您的计算机上,并且您拥有一个有根的Android设备。

  1. 下载 tcpdump 到〜/下载
  2. adb Push ~/Downloads/tcpdump /sdcard/
  3. adb Shell
  4. su root
  5. mv /sdcard/tcpdump /data/local/
  6. cd /data/local/
  7. chmod +x tcpdump
  8. ./tcpdump -vv -i any -s 0 -w /sdcard/dump.pcap
  9. exitname__
  10. exitname__
  11. adb pull /sdcard/dump.pcap ~/Downloads/

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

1
Chris Woolfe

对于Android ,我之前使用的是tPacketCapture,但它对于播放某些视频的应用程序效果不佳。我现在正在使用 Shark 。你 需要是root 才能使用它。

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

1
user276648