ChatGPT解决这个技术问题 Extra ChatGPT

在 Wireshark 上捕获手机流量

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

Windows 用户可以试试这个stackoverflow.com/a/65774666/10532966

A
AtomicBoolean

以下是一些建议:

对于 Android 手机,任何网络:根您的手机,然后在其上安装 tcpdump。这个应用程序是一个 tcpdump 包装器,它将安装 tcpdump 并使您能够使用 GUI 开始捕获。提示:您需要确保为捕获提供正确的接口名称,这因设备而异,例如 -i eth0 或 -i tiwlan0 - 或使用 -i any 记录所有接口 对于 Android 4.0+ 手机: Kismet 的 Android PCAP 使用 USB OTG 接口支持数据包捕获,无需 root。我没有尝试过这个应用程序,并且对支持的设备类型有一些限制(参见他们的页面) 对于 Android 手机:tPacketCapture 使用 Android VPN 服务来拦截数据包并捕获它们。我已经成功使用了这个应用程序,但它似乎也影响了大流量(例如视频流)的性能对于 IOS 5+ 设备,任何网络:iOS 5 添加了一个远程虚拟接口 (RVI) 工具,让您可以使用 Mac OS X 数据包跟踪程序,用于从 iOS 设备捕获跟踪。有关详细信息,请参阅此处 对于所有手机,仅限 wi-fi:将您的 Mac 或 PC 设置为无线接入点,然后在计算机上运行 wireshark。对于所有手机,仅限 Wi-Fi:获取可以嗅探 Wi-Fi 的捕获设备。这也有为您提供 802.11x 标头的优势,但您可能会错过使用 VPN 服务器捕获的一些数据包:使用 OpenVPN 设置您自己的 VPN 服务器相当容易。然后,您可以通过将移动设备设置为 VPN 客户端并在服务器端捕获流量来路由您的流量。


如果您有兴趣在 Windows 7 及更高版本上设置恶意接入点并使用 Wireshark 捕获数据包,请查看我在 mohit.io/blog/… 中汇总的步骤这适用于任何支持 WiFi 的设备(Android、iOS、Wii ,Xbox等)
关于选项 2:这实际上是一个不存在的选项。从他们的页面:“您将需要 [...] 和基于 RTL8187 的无线 NIC”!!!!
对我来说,选项#3 是最容易完成简单任务的,例如检查某个应用程序的调用。
其中大多数不适用于永远不会离开设备的数据包,或者如果您已经使用 VPN。所以这些对于解决 MTU/碎片相关的问题是没有用的。
如果我想做相反的事情怎么办?使用我的 USB 连接的智能手机来捕获我的 PC 的数据包?基本上在我的安卓手机上运行一个类似wireshark的软件
s
skrrgwasme

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

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

使用Ettercap在您的移动设备和路由器之间进行ARP spoofing,您的所有移动流量都会出现在 Wireshark 中。有关设置的详细信息,请参见 this tutorial


您还可以在 Mac OS 上使用 Charles proxy 来捕获 HTTP 流量,它具有非常好的界面和功能。您需要设置您的计算机的本地 IP 在您的手机上有一个代理。它也可以嗅探 TLS 流量,如果您在手机上安装 Charles 的证书,它不会发出警告。
M
MazeChaZer

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

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


这是一个有趣的选择。它可以处理 ssl 数据包吗?
最好和最简单的选择就是这个。为什么要玩手机?生根,编译 tcpdump 以与 ARM CPU 兼容,arpspoofing 本地网络以将流量定向到以太网 BLAH BLAH BLAH 并最终运行 Wireshark 并捕获数据包??只需在模拟器中安装应用程序并捕获以太网。十分简单
因为有一些 3rd 方库,无法更改,但检测到它在模拟器上运行并更改其行为。这样你就需要真正的设备。
d
drbobdugan

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 行,然后按开始按钮。

https://i.stack.imgur.com/mufET.png

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

不要将 iOS 与 VPN 一起使用,您无法理解加密流量

使用简单的过滤器来关注有趣的流量

ip.addr==204.144.14.134 查看源或目的地址为 204.144.14.134 的流量

http 仅查看 http 流量

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

https://i.stack.imgur.com/4l7tC.jpg


F
Farrukh Najmi

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


如果您的问题仅在使用 VPN 时出现(并且永远不会出现在集线器/路由器上),则无法正常工作。
A
Akira Yamamoto

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


该VPN无法正常工作...没有打开页面或获取数据...拥有该VPN就像没有互联网连接...
A
AtomicBoolean

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

下载 tcpdump 到 ~/Downloads 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 捕获足够的数据包后。退出退出 adb pull /sdcard/dump.pcap ~/Downloads/

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


P
Pieter De Clercq

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

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


这仅对 HTTP/HTTPS 流量有用。
P
Peter Jeffe

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


F
FireCruZ

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

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


您能否更具体地说明如何在至少一个平台(Windows、Linux 或 Mac OS X)上执行此操作?
u
user276648

对于 Android,我之前使用过 tPacketCapture,但它不适用于流式传输视频的应用。我现在正在使用 Shark。你需要root才能使用它。

它使用 TCPDump(检查 arguments you can pass)并创建一个可由 Wireshark 读取的 pcap 文件。默认参数通常对我来说已经足够好了。


Google Play 上不再提供 Shark。
确实,它似乎已被删除。网站 swapper.n3o.lv 似乎也不再持有这些 apk。
e
emanuele-f

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

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


只是无根 Android 设备的最佳解决方案!
A
Andrey Egorov

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

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

Download From Play

Tutorial in which you could read additional details


H
Haseeb Javed

对于 iOS 设备:

⦿ 打开终端并简单地写:

rvictl -s udid

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

https://i.stack.imgur.com/b0vHs.png

udid 是 iPhone 的唯一设备 ID。

(How to find my iOS Device UDID)