此文章来自:听云博客
很多时候需要网络抓包分析,在iPhone上抓包稍有不同,下面介绍三种常用的方式。分析工具以wireshark为例。
一、最简单的方式:用PC作为热点,在PC上抓包
优点:简单
缺点:不能抓真机2g/3g/4g网络数据
步骤如下:
1、PC接上有线
2、PC用wifi方式共享网络,即PC作为一个热点。
3、手机设置网络,选择PC那个热点
4、在PC上打开wireshark,选择要监控的接口,指定wifi端口,开始捕捉。
二、tcpdump命令
优点:优点很多,可以做很高级的定制和选择,可以编程控制
缺点:两个,一是手机必须越狱,二是使用比较麻烦。
步骤如下:
1、下载tcpdump
从cydia搜索安装tcpdump,如果没有搜到,请先添加源http://apt.saurik.com
2、安装openssh
从cydia搜索安装openssh,如果没有搜到,请先添加源http://apt.saurik.com
3、退出cydia,这会重启机器或重启springboard
4、在PC上通过ssh命令访问手机,以root身份,root的初始密码是alpine,例如:
ssh root@192.168.1.118
按提示输入密码之后,就远程登录到手机了(建议第一件事是用pwd立即改掉默认密码),此时可以执行tcpdump命令录制网络数据。
5、tcpdump的简单用法
tcpdump -h 显示帮助信息:
Usage: tcpdump [-aAdDeflLnNOpqRStuUvxX] [-c count] [ -C file_size ]
[ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ] [ -y datalinktype ] [ -Z user ]
[ expression ]
关于tcpdump的使用,网上很多,例如:http://blog.chinaunix.net/uid-20237628-id-3946009.html
由于tcpdump只是抓取数据,抓取的数据我们要拿到PC上用wireshark或类似工具分析,因此 -w开关是必须的,它用来指定一个文件,该文件保存抓到的数据,随后我们就把这个文件拷贝到电脑上进行分析。
-i 开关是最重要的,它指定要拦截的网络接口,对于wifi,接口是en0,对于移动数字网络,网络接口是pdp_ip0
例如:
tcpdump -s 0 -i pdp_ip0 -w ~/1.PCap
命令要求抓取移动网络接口的数据,要完整数据包,要保存到~/1.PCap文件。
当需要结束时,用ctrl+z结束tcpdump命令,结束之后,缓存在内存的数据才会完全写入文件。
6、把文件拷贝到PC
用scp命令把文件拷贝到PC:
scp root@192.168.11.211:~/1.PCap ./
(或者ifunbox之类的工具拖拽更简单)
7、现在,可以用wireshark打开1.PCap分析数据了。
总之,tcpdump很强大,也很复杂。以上我故意没有贴图,贴图会让篇幅很大,有点吓人。
三、最佳方式:rvictl命令
优点:简单,而且可以抓所有网络接口的数据
缺点:似乎没有,要求手机iOS5以上不算要求吧?如果说缺点,就是这个命令是xcode的Command Line Tools 中的。
步骤:
1、手机通过usb线连接到PC
2、查看手机的UDID,因为rvictl需要使用它。
可以从iTunes看:
红色区域如果不是UDID,点击它。
用xcode看更方便,window—>devices,然后选择手机,如图:
3、建立连接
格式:rvictl -s <UDID>
例如:
这样,PC上就多了一个虚拟的端口rvi0。可以用 -l参数查看有哪些虚拟端口:
好了,现在可以用wireshark捕捉这个端口的数据了。启动wireshark,并选择网络接口,如图:
无论手机使用的是wifi还是2g、3个、4g,现在你在wireshark里都能实时看到数据了:
是不是非常方便?
4、最后,好习惯是用完关闭:
rvictl -x <UDID>
如:
原文链接:http://blog.tingyun.com/web/article/detail/261
三种经典iPhone上网络抓包方法详解的更多相关文章
-
Android 下使用tcpdump网络抓包方法
Android 下使用tcpdump网络抓包方法 抓包需要tcpdump以及Root权限,tcpdump在本文后有下载. 首先把tcpdump传进手机,用adb命令(放SD卡有时会有问题,我一次可以用 ...
-
抓包工具:tcpdump抓包命令详解
抓包工具:tcpdump抓包命令详解 简介: tcpdump全称:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以 ...
-
iOS系统网络抓包方法
转到自己的博客收藏. 1. 网络共享 + 可视化抓包工具 基本原理 原理比较简单,ios设备通过代理方式共享连接mac电脑的无线网卡,使用抓包工具抓包,然后进行分析(我们推荐使用Wireshark,在 ...
-
Linux系统诊断必备技能之二:tcpdump抓包工具详解
一.简述 TcpDump可以将网络中传送的数据包完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息. Linux作为网络服 ...
-
TCPdump抓包命令详解--摘
http://blog.csdn.net/s_k_yliu/article/details/6665673/ http://starsliao.blog.163.com/blog/static/890 ...
-
[转]Linux操作系统tcpdump抓包分析详解
PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具. t ...
-
Charles抓包实战详解
访问我的博客 前言 通过上一篇文章,想必你已经掌握了如何正确安装抓包神器 Charles,如果还是抓不了包,可以再看看. 今天要做是抓包实战,因为我在做网络文学的公司就职,所以就拿网络文学的 APP ...
-
TCPdump抓包命令详解
http://starsliao.blog.163.com/blog/static/89048201062333032563/ TCPdump抓包命令 tcpdump是一个用于截取网络分组,并输出分组 ...
-
Fiddler 抓包工具详解
Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获.重发.编辑.转存等操作.也可以用来检测网络安全.反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能 ...
随机推荐
-
【转】在Eclipse里查看Java字节码
要理解 Java 字节码,比较推荐的方法是自己尝试编写源码对照字节码学习.其中阅读 Java 字节码的工具必不可少.虽然javap可以以可读的形式展示出.class 文件中字节码,但每次改动源码都需调 ...
-
C#关键字
关键字 abstract as base bool break byte case catch char checked decimal default delegate continue doubl ...
-
NET分布式缓存Memcached测试体验
原文地址:http://onlyonewt.blog.sohu.com/160168896.html 一直在学习关注大访问量网站的缓存是如何实现,之前看过Memcached的资料,忙于没有时间来真正测 ...
-
Springmvc +JNDI 在Tomcat下 配置数据源(转)
一. 简介 jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务 ...
-
最大公约数(Greatest Common Divisor)
两个数的最大公约数.一个典型的解决方案是欧几里德,叫欧几里德算法. 原理:(m,n)代表m和nGCD,和m>n.然后,(m,n)=(n,m%n)=.....直到余数为0. 码如下面: publi ...
-
电铸3D18K硬金 电铸易熔合金 电铸中空硬金饰品合金
俊霖电铸3DK金易熔合金是要求相互关连,互为条件,缺一不可,是产品完整性和完美性的重要体现. 第一.适用性:电铸3DK金易熔合金的性能应适用于电铸.首饰.K金饰品.摆件等工艺品的易熔合金 ...
-
Python:logging 的巧妙设计
引言 logging 的基本用法网上很多,这里就不介绍了.在引入正文之前,先来看一个需求: 假设需要将某功能封装成类库供他人使用,如何处理类库中的日志? 数年前在一个 C# 开发的项目中,我用了这样的 ...
-
canvas学习之粒子动画
项目地址:http://pan.baidu.com/s/1ccTptc 粒子动画意思就是把一个图片粒子画,然后使用粒子作出动画效果,主要两个问题:一个图片如何粒子化,这里面我们使用canvas的get ...
-
php作用域限定符
双冒号::被认为是作用域限定操作符,用来指定类中不同的作用域级别.::左边表示的是作用域,右边表示的是访问的成员. 系统定义了两个作用域,self和parent.self表示当前类的作用域,在类之外的 ...
-
【NOI】2004 郁闷的出纳员
[算法]平衡树(treap) [题解] treap知识见数据结构. 解法,具体细节见程序. #include<cstdio> #include<algorithm> #incl ...