摘要 在逆向分析以及移动端开发的时候,总会需要对APP的网络行为进行监控测试,本文总结一些抓包思路,并对其使用方法进行实践 在抓包界,Wireshark应该算是综合排名第一的工具(其实Wireshark自带的命令行工具tshark更牛逼) 本文总结记录了5种抓包方式,掌握其一即可进行实践,欢迎大家一起交流分享1、基于Wireshark 实验步骤: 1。1在电脑主机上使用猎豹Wifi之类的工具,开启热点,将所要测试的手机连接该热点,记录其IP地址 1。2使用Wireshark对以上IP地址进行捕获 CaptureOptions 1。3总结 该方法简单粗暴高效,可以将捕获的数据包随时保存下来,便于后续分析或者进行PCAP可视化分析。 关于命令行工具tshark在此不做赘述,感兴趣的读者自行研究。2、基于tcpdump 实验环境: 下载安装Genymotion安卓虚拟机,在该模拟器环境种进行实践操作(基于实体手机亦然,前提是手机必须得ROOT) 笔者仅在Android系统下测试,未在iOS系统下实验 实验步骤:2。1说明 模拟器中自带的tcpdump工具,位于:systemxbin目录下2。2数据包捕获 可以通过adbshell命令在CMD模式下连接模拟器,su到root模式进行抓包!bashtcpdumpvvs0ieth1wsdcardcapture。pcap 参数说明:vv:获取详细的包信息(注意是两个v不是w)s0:不限数据包的长度,如果不加则只获取包头wxxx。pcap:捕获数据包名称以及存储位置(本例中保存在sdcard路径下,数据包名为capture。pcap)ieth1:捕获制定的网卡(在genymotion虚拟机中,使用busyboxifconfig命令可以查看相关信息,一般genymotion的ip地址都为10。xx。xx。x) 如果你想指定捕获的数据包长度,可以使用c参数(例如c128)捕获结束,直接按CtrlC即可2。3数据分析 将捕获到的数据包拖到本地使用Wireshark进行查看:!bashadbpullsdcardcapture。pcapC:mp TIPS:将数据包文件push到手机上命令为!bashadbpushC:mpcapture。pcapsdcard3、基于Fiddler4 实验步骤:3。1下载FIddler43。2设置Fiddler4 打开Fiddler,ToolsFiddlerOptions(配置完成记得重启Fiddler) 3。3设置手机代理 首先,获取安装Fiddler4的PC对应的IP地址(ipconfig): 确保手机和PC是连接在同一个局域网中!!! 下面对手机进行设置(笔者使用小米测试机):点击手机中设置WiFi选择已经连接的wifi代理设置改为手动 下载Fiddler的安全证书 使用手机浏览器访问:http:10。2。145。187:8888,点击FiddlerRootcertificate,然后安装证书即可。 至此,已经全部设置完毕。3。4数据包捕获 重新打开Fiddler4,然后打开手机中的浏览器,访问任意网址,Fiddler抓包信息如下: Enjoy!4、基于Charles 实验环境: win7Charlesv3。11 一般使用Charles都是基于MACOS,笔者在mac平台以及windows平台均试验过,操作过程和思路基本一致,因此,本文以win7为测试环境 实验步骤:4。1捕获http数据包 手机设置代理: 打开Charles即可捕获数据包(ProxyProxySettings): 4。2捕获https数据包 手机端安装证书: Android手机或者iPhone均可直接访问http:www。charlesproxy。comssl。zip,然后根据图示点击证书安装 设置Charles: 选择ProxySSLProxyingSettingsLocationsAdd 在弹出的表单中填写Host域名(也就是你想要抓包链接的主机名),以及对应的Port端口(此处相当于过滤作用) 当然,你可以采用更加粗暴的方式:使用通配符,例如你想要捕获所有的https包,这里也可以直接都为空,表示捕获所有的主机和端口;或者都分别填星号,匹配所有的字符,捕获所有的https。 5、基于Burpsuite 实验步骤:5。1捕获http数据包 PC端Burpsuite设置: 手机端代理设置方法同以上3。34。1 打开Burpsuite即可捕获http数据包: 5。2捕获https数据包 手机端设置好代理之后,使用浏览器访问:http:burp 此处存在一个问题:下载的证书是der格式的,我们手机端安装的是crt格式的,需要使用firefox浏览器转一下格式:可以首先在Brupsuite中导出der格式证书,然后导入火狐浏览器,然后从火狐浏览器导出证书格式为crt 打开火狐浏览器:工具选项高级证书查看证书 成功捕获https数据包 6、总结 当我们停止捕获数据包时,将Fiddler或Charles关闭,此时手机端是无法正常访问网络的,因为设置了代理,这时候需要将代理关闭,即可正常浏览网页 对于大多数走代理的应用可以选择Fiddler或Charles,无需root,一次配置,终身使用;对于不走代理的App可以利用tcpdump捕包,然后使用Wireshark查看;最简单便捷的便是第一种方法0x01。基于Wireshark 以上所有工具各有优劣,读者可以根据工作环境,按需使用,个人觉得一般情况下使用WiresharkFiddler或者WiresharkCharles即可完成各平台的抓包分析任务 以上工具中只有BurpSuite可以对抓包过程进行交互式操作;Wireshark支持的协议最多,也更底层,功能强大,但过于沉重 对于本文涉及的相关工具的安装、设置、破解、详细使用,不在本文讨论范围之内(Charles免费版其实还比较厚道,如果重度需要,建议购买正版),本文旨在浅析捕获移动终端数据包的方法和思路。 Originalreprint::https:wooyun。kieran。top!drops1024。浅析手机抓包方法实践