iPhone和WireShark
我怎么能从我的networking上的iPhone嗅探数据包? 有人可以给我一些指示? 我试过谷歌search,但没有教如何嗅探iPhone数据包,
我在窗户上。
您可以使用Paros从iPhone中嗅探networkingstream量。 看到这个优秀的一步一步发布更多的信息: http : //blog.jerodsanto.net/2009/06/sniff-your-iphones-network-traffic/ 。 另外,请查看注释以获取有关使用其他代理完成相同工作的一些build议。
有一点需要注意的是,Paras只使用上面的方法来嗅探HTTP GET / POST请求,所以要嗅探所有networkingstream量,请尝试以下操作:
- 只需打开WiFi上的networking共享,然后运行像Cocoa Packet Analyzer (在OSX中)的数据包嗅探器。
- 然后通过WiFi连接到iPhone上的新networking。 (SystemPreferences-> Sharing-> InternetSharing)
如果您在Windows上嗅探这些数据包之后,请使用以太网连接到Internet,共享您的Internet连接,并使用Windows计算机作为您的接入点。 然后,像平常一样运行Wireshark并拦截stream过的数据包,按其起点过滤。 或者,尝试使用networking集线器,因为如果Wireshark使用相同的路由器端点地址(如在集线器中),则可以跟踪stream经networking的所有数据包。
这对我工作:
-
通过USB连接您的iOS设备
-
$ rvictl -s UDID
其中,UDID
是您设备的UDID(位于设备下的XCode中,快捷方式$ rvictl -s UDID
) -
$ sudo launchctl list com.apple.rpmuxd
-
$ sudo tcpdump -n -t -i rvi0 -q tcp
或$ sudo tcpdump -i rvi0 -n
如果victl不工作,安装Xcode和开发者工具。
欲了解更多信息,请参阅远程虚拟接口和原始教程这里是使用您的面包博客post
我已经使用Fiddler2作为代理成功捕获HTTPstream量,该代理可以安装在networking上的任何Windows PC上。
- 在Fiddler中,工具 – > Fiddler选项 – >连接 – > [x]允许远程计算机连接。
- 确保你的Windows防火墙被禁用。
- 在iPhone / iPod上,进入无线设置,使用手动代理服务器,input提琴手机器的IP地址和相同的端口(默认为8888)。
以下适用于iPhone 4S(iOS 5)和Macbook Pro(10.8.2)
-
在您的Mac上,转到系统偏好设置>共享>互联网共享
-
在你的iPhone上,进入设置>无线上网,select你的Mac作为Wifi接入点。 按下其旁边的蓝色细节披露,记下IP地址(在我的情况下是192.168.2.2)。 此时,Mac的任务栏上的wifi图标应更改为以下内容:
-
打开wireshark。 点击开始捕捉,然后使用新选项中的新桥接接口。
-
???
-
利润!
至于所有与networking相关的东西,你可能不得不重新启动wifi等重复步骤,并调用你最喜欢的神,让这个咒语工作:)
tcpdump
工具在gnu下可用。
你可以用它来代替wireshark
。
我必须做一些非常相似的事情,才能找出为什么我的iPhone正在stream失蜂窝networking数据,在几天之内吃掉我的500Mb津贴的80%。
不幸的是,我不得不在3G / 4G上进行数据包嗅探,并且不能依靠无线networking。 所以,如果你需要一个“工业”的解决scheme,那么这就是你如何嗅探任何networking上的所有stream量(不只是http)。
基本配方:
- 安装VPN服务器
- 在VPN服务器上运行数据包嗅探器
- 将iPhone连接到VPN服务器并执行操作
- 从VPN服务器下载.pcap并使用您最喜爱的.pcap分析器。
详细的说明:
- 让自己一个Linux服务器,我用一个5美元/月的盒子从Digirtal海洋使用Fedora 20 64bit
- configurationOpenVPN。 OpenVPN有全面的说明
- 确保您configuration路由通过VPN部分的所有stream量
- 请注意,(3)的指令都是在本文写作时被firewall-cmd所取代的iptables。 本网站介绍了要使用的firewall-cmd
- 检查您是否可以将iPhone连接到VPN。 我通过下载免费的OpenVPN软件来做到这一点。 然后我设置了一个OpenVPN证书。 您可以通过在<ca> </ ca> <crt> </ crt> <key中打开并embedded— BEGIN CERTIFACTE — —- END CERTIFICATE —来embedded您的ca,crt和key文件> </ key>块。 请注意,我必须在Mac上使用文本编辑器来做到这一点,当我在Win上使用notepad.exe时,它不起作用。 然后我发邮件给我的iphone,并select安装它。
- 检查iPhone连接到VPN,并路由它的stream量(谷歌什么是我的IP应该返回的VPN服务器IP,当你在iPhone上运行)
- 现在你可以连接到你的linux服务器并安装wireshark(yum install wireshark)
- 这安装了tshark,这是一个命令行数据包嗅探器。 在后台运行这个屏幕tshark -i tun0 -x -w capture.pcap -F pcap(假设vpn设备是tun0)
- 现在,当你想捕捉stream量,只需在你的机器上启动VPN
- 完成closuresVPN时
- 从您的服务器下载.pcap文件,并像往常一样运行分析。 它到达时已经在服务器上解密,所以stream量可以以纯文本的forms显示(显然https仍然是encryption的)
请注意,上面的实现不是安全的重点,它只是简单地获取3G / 4G /无线networking上所有iPhonestream量的详细数据包捕获
我推荐Charles Web Proxy
Charles是HTTP代理/ HTTP监视器/反向代理,使开发人员能够查看其计算机和Internet之间的所有HTTP和SSL / HTTPSstream量。 这包括请求,响应和HTTP标头(包含cookie和caching信息)。
- SSL代理 – 以纯文本格式查看SSL请求和响应
- 带宽限制模拟较慢的Internet连接,包括延迟
- AJAXdebugging – 以树或文本的forms查看XML和JSON请求和响应
- AMF – 以Flash的forms查看Flash Remoting / Flex Remoting消息的内容
- 重复请求以testing后端更改,编辑请求以testing不同的input
- 拦截和编辑请求或响应的断点
- 使用W3Cvalidation器validation录制的HTML,CSS和RSS / atom响应
这是跨平台的,用JAVA写的,还不错。 几乎不像Wireshark那么强大,并且为你设置代理等许多恼人的事情。 唯一不好的地方就是花50美元。 不便宜,但是一个有用的工具。
了解更多关于Charles的function。
做这个最简单的方法当然是使用wifi。 您需要确定您的WiFi基站是作为集线器还是交换机 。 如果它作为一个集线器,那么只需连接你的Windows PC到wireshark应该能够看到来自iPhone的所有stream量。 如果是交换机,那么最简单的方法就是购买一个便宜的集线器,并将无线基地的无线端连接到集线器,然后将运行wireshark的windows pc连接到集线器。 在这一点上,wirehark将能够看到所有通过集线器的stream量。
我喜欢使用Pirni(在越狱设备上免费使用Cydia),或者现在也可以使用Pirni Pro购买几块钱( http://en.wikipedia.org/wiki/Pirni )。 我一直在使用Google代码( http://code.google.com/p/pirni-derv/ )上免费提供的pirni-derv脚本,它与Pirni混合使用,效果非常好。 我推荐它。
您可以按照以下步骤操作:
- 安装Charles Web Proxy 。
- 禁用SSL代理(取消选中代理 – >代理设置…-> SSL中的标志
- 如你所说,将你的iDevice连接到Charles代理
- 通过Wireshark或Charles嗅探数据包