繁体   English   中英

在 Wireshark 上捕获手机流量

[英]Capturing mobile phone traffic on Wireshark

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

以下是一些建议:

  1. 对于 Android 手机,任何网络:根您的手机,然后在其上安装 tcpdump。 这个应用程序是一个 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)工具,允许您使用 Mac OS X 数据包跟踪程序从 iOS 设备捕获跟踪。 请参阅 此处了解更多详细信息

  5. 对于所有手机,仅限 wi-fi:将您的MacPC设置为无线接入点,然后在计算机上运行 wireshark。

  6. 对于所有手机,仅限 Wi-Fi:获取可以嗅探 Wi-Fi 的捕获设备 这也有为您提供 802.11x 标头的优势,但您可能会错过一些数据包

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

除了 rupello 的出色回答之外,还有一个“肮脏”但非常有效的技巧:

对于所有手机,任何(本地)网络:将您的 PC 设置为移动设备的中间人

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

此处未建议的另一个选项是从 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行,然后按Start按钮。

Wireshark 捕获选项对话框

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

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

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

用于从 204.144.14.134 下载 pdf 的 Wireshark TCP 流量

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

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

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

  1. 下载tcpdump到 ~/Downloads
  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. 捕获足够的数据包后CTRL+C
  10. exit
  11. exit
  12. 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 (检查您可以传递的参数)并创建一个 Wireshark 可以读取的pcap 文件 默认参数通常对我来说已经足够好了。

作为 Android 的 Wireshark 替代品/伴侣,您可以尝试我的开源应用PCAPdroid 在非 root 设备上,它使用 VPNService 来捕获流量,但有一些限制。 在有根设备上,它就像一个用户友好的 tcpdump 一样工作。

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

我遇到了一个类似的问题,这激发了我开发一个可以帮助从 Android 设备捕获流量的应用程序。 该应用程序具有 SSH 服务器,可让您在 Wireshark 中即时获取流量( sshdump wireshark 组件)。 由于该应用程序使用称为 VPNService 的操作系统功能来捕获流量,因此不需要 root 访问权限。

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

从 Play 下载

您可以在其中阅读更多详细信息的教程

对于 iOS 设备:

⦿ 打开终端并简单地写:

rvictl -s udid

它会在 Wireshark 上打开一个带有名称的界面,在我的例子中是 rvi0。

在此处输入图像描述

udid 是 iPhone 的唯一设备 ID。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM