iPhone 和 WireShark [关闭]
Posted
技术标签:
【中文标题】iPhone 和 WireShark [关闭]【英文标题】:iPhone and WireShark [closed] 【发布时间】:2010-12-08 13:51:24 【问题描述】:如何在我的网络上从我的 iPhone 嗅探数据包?有人可以给我一些指示吗?我试过谷歌搜索,但没有教如何嗅探 iPhone 数据包、
我在窗户上。
【问题讨论】:
我找到了这个,它使用了 WireShark。但是,我需要一步一步的说明或一些东西来一起做wireshark和代理。 如何将我的 iPhone 与 WLAN 连接?什么是无线局域网? 好吧,我知道 WLAN 是什么,但我不知道如何才能拼凑出这个谜题。 【参考方案1】:更新 (2021-04-01): Paros 不再可以在许多操作系统的due to using an extremely old version of Java 上轻松安装和运行。
但是现在有OWASP ZAP,它是 Paros 的一个分支,可以用来实现相同的目的。
基本步骤是:
-
在您的 ios 设备上安装 ZAP 的根 CA 证书。
配置 iOS 设备的代理设置以指向您正在运行的 ZAP。
抓走。
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 请求,因此要嗅探所有网络流量,请尝试以下操作:
只需打开 WiFi 网络共享并运行像 Cocoa Packet Analyzer 这样的数据包嗅探器(在 OSX 中)。 然后通过 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 上。
-
在 Fiddler 中,工具 -> Fiddler 选项
-> 连接 -> [x] 允许远程计算机连接。
确保您的 Windows 防火墙是
已禁用。
在 iphone/ipod 上,转到您的
无线设置,使用手册
代理服务器,进入fiddler
机器的ip地址和相同
端口(默认为 8888)。
【讨论】:
+1 很棒的建议。我一步一步找到了这个:here。另外,帮助获取 https on fiddler's site 和 here【参考方案4】:我推荐Charles Web Proxy
SSL 代理 - 以纯文本形式查看 SSL 请求和响应 带宽限制以模拟较慢的 Internet 连接(包括延迟) AJAX 调试 - 以树或文本的形式查看 XML 和 JSON 请求和响应 AMF – 以树的形式查看 Flash Remoting / Flex Remoting 消息的内容 重复请求以测试后端更改,编辑请求以测试不同的输入 拦截和编辑请求或响应的断点 使用 W3C 验证器验证记录的 html、CSS 和 RSS/atom 响应Charles 是一个 HTTP 代理/HTTP 监控器/反向代理,使开发人员能够查看他们的机器和 Internet 之间的所有 HTTP 和 SSL/HTTPS 流量。这包括请求、响应和 HTTP 标头(其中包含 cookie 和缓存信息)。
它是跨平台的,用 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)
在您的 Mac 上,转到“系统偏好设置”>“共享”>“Internet 共享”
在您的 iPhone 上,转至设置 > Wifi 并选择您的 Mac 作为 Wifi 接入点。按旁边的蓝色详细信息披露并记下 IP 地址(在我的情况下为 192.168.2.2)。此时,Mac 的任务栏上的 wifi 图标应更改为以下内容:
打开wireshark。单击开始捕获,然后使用选项中现在应该可用的新桥接口。
???
利润!
与所有与网络相关的东西一样,你可能必须重新启动 wifi 等并重复步骤并调用你最喜欢的神来让这个咒语起作用:)
【讨论】:
【参考方案8】:这对我有用:
通过 USB 连接您的 iOS 设备
$ rvictl -s UDID
其中UDID
是您设备的 UDID(位于 XCode 中的 Devices 下,使用 ⇧⌘2)
$ sudo launchctl list com.apple.rpmuxd
$ 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
标志之间的输出似乎存在差异。另见***.com/a/19873132/307944
OP 询问如何在 Windows 上执行此操作【参考方案9】:
您可以按照以下方式进行:
-
安装Charles Web Proxy。
禁用 SSL 代理(取消选中 Proxy->Proxy Settings...->SSL 中的标志
按照here 的说明将您的 iDevice 连接到 Charles 代理
通过 Wireshark 或 Charles 嗅探数据包
【讨论】:
【参考方案10】:我不得不做一些非常类似的事情来找出为什么我的 iPhone 会在几天内消耗掉我 500Mb 的 80% 的蜂窝网络数据。
不幸的是,我不得不在使用 3G/4G 时进行数据包嗅探,并且不能依赖无线。因此,如果您需要“工业”解决方案,那么这就是您在任何网络上嗅探所有流量(不仅仅是 http)的方式。
基本配方:
-
安装 *** 服务器
在 *** 服务器上运行数据包嗅探器
将 iPhone 连接到 *** 服务器并执行操作
从 *** 服务器下载 .pcap 并在其上使用您最喜欢的 .pcap 分析器。
详细说明:
-
给自己弄个linux服务器,我用的是Digirtal Ocean on a $5/month box的Fedora 20 64bit
在上面配置 Open***。 Open*** has comprehensive instructions
确保配置Routing all traffic through the *** section
请注意 (3) 的说明都是 iptables,在撰写本文时已被 firewall-cmd 取代。 This website explains the firewall-cmd to use
检查您是否可以将 iPhone 连接到 ***。我通过下载免费的 Open*** 软件来做到这一点。然后我设置了一个 Open*** 证书。您可以通过打开并嵌入 --- BEGIN CERTIFACTE --- ---- END CERTIFICATE --- in 块。请注意,我必须在 Mac 中使用文本编辑器执行此操作,当我在 Win 上使用 notepad.exe 时它不起作用。然后我将它通过电子邮件发送到我的 iPhone 并选择安装它。
检查 iPhone 连接到 *** 并路由它的流量(当你在 iPhone 上运行时,谷歌我的 IP 应该返回 *** 服务器 IP)
现在您可以连接到您的 linux 服务器并安装 wireshark (yum install wireshark)
这会安装 tshark,它是一个命令行数据包嗅探器。使用 screen tshark -i tun0 -x -w capture.pcap -F pcap 在后台运行它(假设 *** 设备是 tun0)
现在,当您想要捕获流量时,只需在您的计算机上启动 ***
完成后关闭 ***
从您的服务器下载 .pcap 文件,然后像往常一样运行分析。它到达时已在服务器上解密,因此可以以纯文本形式查看流量(显然 https 仍处于加密状态)
请注意,上述实施并非以安全为重点,它只是为了获取 iPhone 在 3G/4G/无线网络上的所有流量的详细数据包
【讨论】:
最后,为了结束,我发现是什么在吃数据。我将它配置为个人热点,如果我重新启动路由器,那么我的电脑将连接到它并通过它路由所有数据。所以最后我发现,当 PC 进行某种网络流量并杀死我的数据时,我必须重置路由器!以上是关于iPhone 和 WireShark [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
怎么在Windows上用Wireshark截获iPhone网络通讯