【问题标题】:iPhone and WireShark [closed]iPhone 和 WireShark [关闭]
【发布时间】:2010-12-08 13:51:24
【问题描述】:

如何在我的网络上从我的 iPhone 嗅探数据包?有人可以给我一些指示吗?我试过谷歌搜索,但没有教如何嗅探 iPhone 数据包、

我在窗户上。

【问题讨论】:

  • 我找到了这个,它使用了 WireShark。但是,我需要一步一步的说明或一些东西来一起做wireshark和代理。
  • 如何将我的 iPhone 与 WLAN 连接?什么是无线局域网?
  • 好吧,我知道 WLAN 是什么,但我不知道如何才能拼凑出这个谜题。

标签: iphone packet packet-capture sniffing packet-sniffers


【解决方案1】:

更新 (2021-04-01): Paros 不再可以在许多操作系统的due to using an extremely old version of Java 上轻松安装和运行。

但是现在有OWASP ZAP,它是 Paros 的一个分支,可以用来实现相同的目的。

基本步骤是:

  1. 在您的 iOS 设备上安装 ZAP 的根 CA 证书。
  2. 配置 iOS 设备的代理设置以指向您正在运行的 ZAP。
  3. 抓走。

a blogpost by Omer Levi Hevroni on OWASP ZAP with iOS 详细介绍了如何执行这些步骤。


您可以使用Paros 来嗅探 iPhone 的网络流量。有关更多信息,请参阅此出色的分步帖子:http://blog.jerodsanto.net/2009/06/sniff-your-iphones-network-traffic/。此外,在 cmets 中查看有关使用其他代理完成相同工作的一些建议。

需要注意的是,Paras 仅使用上述方法嗅探 HTTP GET/POST 请求,因此要嗅探所有网络流量,请尝试以下操作:

  1. 只需打开 WiFi 网络共享并运行像 Cocoa Packet Analyzer 这样的数据包嗅探器(在 OSX 中)。
  2. 然后通过 WiFi 从 iPhone 连接到新网络。 (系统偏好设置->共享->互联网共享)

如果您在 Windows 上嗅探这些数据包后,请使用以太网连接到 Internet,共享您的 Internet 连接,并将 Windows 计算机用作您的访问点。然后,只需正常运行 Wireshark 并拦截流过的数据包,按其起点过滤。或者,尝试使用网络集线器,因为 Wireshark 可以跟踪通过网络的所有数据包,如果它们使用相同的路由器端点地址(如在集线器中)。

【讨论】:

  • 谢谢,如果我想嗅探所有的数据包,我可以在 windows 上使用什么程序?
  • 博文没有说清楚一件事:你如何获得用于代理的地址?您应该做的是在您的 Mac 上启动“网络实用程序”应用程序。您将在“信息”选项卡(第一个选项卡)上看到“IP 地址”。那是您应该使用的地址。
  • 链接中的说明真的很糟糕。有很多人无法让它工作(见 cmets)。作者似乎随意选择了一个 IP 地址来充当代理。但它应该是计算机/笔记本电脑的 IP 地址。
  • 只要出现 SSL 错误,我就可以让 Paros 正常工作,但我只能做到这些。对于嗅探来自不接受无效证书的合法应用程序的流量非常无用
  • Paros 甚至不再适用于 Windows。
【解决方案2】:

最简单的方法当然是使用 wifi。您需要确定您的 wifi 基站是作为 hub 还是 switch。如果它充当集线器,那么只需将您的 windows pc 连接到它,wireshark 应该能够看到来自 iPhone 的所有流量。如果它是一个交换机,那么您最简单的选择是购买一个便宜的集线器并将您的 wifi 底座的 wan 端连接到集线器,然后将运行wireshark 的 Windows pc 也连接到集线器。届时,wireshark 将能够看到通过集线器的所有流量。

【讨论】:

  • +1 这是我一直使用的装备。效果很好。这些天最难的部分是找到一个集线器......我个人使用的是 Netgear DS104。
【解决方案3】:

我已使用Fiddler2 作为代理成功捕获 HTTP 流量,该代理可以安装在您网络上的任何 Windows PC 上。

  1. 在 Fiddler 中,工具 -> Fiddler 选项 -> 连接 -> [x] 允许远程计算机连接。
  2. 确保您的 Windows 防火墙是 已禁用。
  3. 在 iphone/ipod 上,转到您的 无线设置,使用手册 代理服务器,进入fiddler 机器的ip地址和相同 端口(默认为 8888)。

【讨论】:

【解决方案4】:

我推荐Charles Web Proxy

Charles 是一个 HTTP 代理/HTTP 监控器/反向代理,使开发人员能够查看他们的机器和 Internet 之间的所有 HTTP 和 SSL/HTTPS 流量。这包括请求、响应和 HTTP 标头(其中包含 cookie 和缓存信息)。

  • SSL 代理 - 以纯文本形式查看 SSL 请求和响应
  • 带宽限制以模拟较慢的 Internet 连接(包括延迟)
  • AJAX 调试 - 以树或文本的形式查看 XML 和 JSON 请求和响应
  • AMF – 以树的形式查看 Flash Remoting / Flex Remoting 消息的内容
  • 重复请求以测试后端更改,编辑请求以测试不同的输入
  • 拦截和编辑请求或响应的断点
  • 使用 W3C 验证器验证记录的 HTML、CSS 和 RSS/atom 响应

它是跨平台的,用 JAVA 编写的,非常好。不像 Wireshark 那样不堪重负,并且为你做了很多烦人的事情,比如设置代理等。唯一不好的是它要花钱,50美元。不便宜,但有用的工具。

Read more about Charles's features.

【讨论】:

  • 这不适用于通过 iPhone 传递的数据包
【解决方案5】:

tcpdump 工具在 gnu 下可用。

你可以用它来代替wireshark

【讨论】:

    【解决方案6】:

    我喜欢使用 Pirni(可在 Cydia 越狱设备上免费使用),或者现在只需几美元即可使用 Pirni Pro (http://en.wikipedia.org/wiki/Pirni)。我一直在使用与 Pirni 混合的 Google Code (http://code.google.com/p/pirni-derv/) 上免费提供的 pirni-derv 脚本,并且运行良好。我推荐它。

    【讨论】:

      【解决方案7】:

      以下适用于 iPhone 4S (iOS 5) 和 Macbook Pro (10.8.2)

      1. 在您的 Mac 上,转到“系统偏好设置”>“共享”>“Internet 共享”

      2. 在您的 iPhone 上,转至设置 > Wifi 并选择您的 Mac 作为 Wifi 接入点。按旁边的蓝色详细信息披露并记下 IP 地址(在我的情况下为 192.168.2.2)。此时,Mac 的任务栏上的 wifi 图标应更改为以下内容:

      3. 打开wireshark。单击开始捕获,然后使用选项中现在应该可用的新桥接口。

      4. ???

      5. 利润!

      与所有与网络相关的东西一样,你可能必须重新启动 wifi 等并重复步骤并调用你最喜欢的神来让这个咒语起作用:)

      【讨论】:

        【解决方案8】:

        这对我有用:

        1. 通过 USB 连接您的 iOS 设备

        2. $ rvictl -s UDID 其中UDID 是您设备的 UDID(位于 XCode 中的 Devices 下,使用 2)

        3. $ sudo launchctl list com.apple.rpmuxd

        4. $ sudo tcpdump -n -t -i rvi0 -q tcp$ sudo tcpdump -i rvi0 -n

        如果 victl 不起作用,请安装 Xcode 和开发者工具。

        更多信息请参见Remote Virtual Interface,原始教程请参见Use Your Loaf blog post

        【讨论】:

        • 我建议阅读 man 页面以了解 tcpdump 以了解标志是什么。此外,stdout 和使用 -w 标志之间的输出似乎存在差异。另见stackoverflow.com/a/19873132/307944
        • OP 询问如何在 Windows 上执行此操作
        【解决方案9】:

        您可以按照以下方式进行:

        1. 安装Charles Web Proxy
        2. 禁用 SSL 代理(取消选中 Proxy->Proxy Settings...->SSL 中的标志
        3. 按照here 的说明将您的 iDevice 连接到 Charles 代理
        4. 通过 Wireshark 或 Charles 嗅探数据包

        【讨论】:

          【解决方案10】:

          我不得不做一些非常类似的事情来找出为什么我的 iPhone 会在几天内消耗掉我 500Mb 的 80% 的蜂窝网络数据。

          不幸的是,我不得不在使用 3G/4G 时进行数据包嗅探,并且不能依赖无线。因此,如果您需要“工业”解决方案,那么这就是您在任何网络上嗅探所有流量(不仅仅是 http)的方式。

          基本配方:

          1. 安装 VPN 服务器
          2. 在 VPN 服务器上运行数据包嗅探器
          3. 将 iPhone 连接到 VPN 服务器并执行操作
          4. 从 VPN 服务器下载 .pcap 并在其上使用您最喜欢的 .pcap 分析器。

          详细说明:

          1. 给自己弄个linux服务器,我用的是Digirtal Ocean on a $5/month box的Fedora 20 64bit
          2. 在上面配置 OpenVPN。 OpenVPN has comprehensive instructions
          3. 确保配置Routing all traffic through the VPN section
          4. 请注意 (3) 的说明都是 iptables,在撰写本文时已被 firewall-cmd 取代。 This website explains the firewall-cmd to use
          5. 检查您是否可以将 iPhone 连接到 VPN。我通过下载免费的 OpenVPN 软件来做到这一点。然后我设置了一个 OpenVPN 证书。您可以通过打开并嵌入 --- BEGIN CERTIFACTE --- ---- END CERTIFICATE --- in 块。请注意,我必须在 Mac 中使用文本编辑器执行此操作,当我在 Win 上使用 notepad.exe 时它不起作用。然后我将它通过电子邮件发送到我的 iPhone 并选择安装它。
          6. 检查 iPhone 连接到 VPN 并路由它的流量(当你在 iPhone 上运行时,谷歌我的 IP 应该返回 VPN 服务器 IP)
          7. 现在您可以连接到您的 linux 服务器并安装 wireshark (yum install wireshark)
          8. 这会安装 tshark,它是一个命令行数据包嗅探器。使用 screen tshark -i tun0 -x -w capture.pcap -F pcap 在后台运行它(假设 vpn 设备是 tun0)
          9. 现在,当您想要捕获流量时,只需在您的计算机上启动 VPN
          10. 完成后关闭 VPN
          11. 从您的服务器下载 .pcap 文件,然后像往常一样运行分析。它到达时已在服务器上解密,因此可以以纯文本形式查看流量(显然 https 仍处于加密状态)

          请注意,上述实施并非以安全为重点,它只是为了获取 iPhone 在 3G/4G/无线网络上的所有流量的详细数据包

          【讨论】:

          • 最后,为了结束,我发现是什么在吃数据。我将它配置为个人热点,如果我重新启动路由器,那么我的电脑将连接到它并通过它路由所有数据。所以最后我发现,当 PC 进行某种网络流量并杀死我的数据时,我必须重置路由器!
          猜你喜欢
          • 2012-07-13
          • 2011-08-16
          • 2023-04-02
          • 2015-09-13
          • 2011-05-14
          • 1970-01-01
          • 2015-06-05
          • 1970-01-01
          • 2014-02-07
          相关资源
          最近更新 更多