手机抓包方法

一、通过tcpdump抓包
以android平台为例介绍tcpdump抓包
  1. 先下载tcpdump
  2. 将tcpdump push至手机:    adb push tcpdump /data/local
  3. 修改tcpdump权限: adb shell   chmod 777 /data/local/tcpdump
  4. 直接在adb shell 中抓包: cd /data/local    ./tcpdump -s -0 -w /sdcard/tcpdump 
  5. 操作手机,快捷键Ctrl + C 可以停止装包,将tcpdump 用wireshark打开,分析
二、电脑做wifi热点,手机连上后电脑上使用wireshark抓包
该方法手机无须root,并且适用于各种有wifi功能的手机(IOS、android等)、平板等。只要电脑的无线网卡具有无线承载功能,就可以。方法如下:
  1. 把电脑的网络做为热点
  2. 开启wifi热点后,被测手机连接到该热点;
  3. 启动wireshark,选择做为热点的网卡,点击start开始抓包;
  4. 操作手机,可以抓取到手机所有与网络交互的数据包,如需停止,直接点击wireshark的stop即可。
三、使用fiddler来抓取
此方法只适应于抓取http。此方法的最大优点是,可以拦截发出或者收到的http,可以修改http的request和response数据。因此用此方法可以模拟一些特殊场景(如包无响应、模拟一些很难出现的错误码等)。
此方法最好有一台拥有无线网卡的电脑。
  1. 电脑和手机连接到同一个局域网下(如电脑和手机连接到同一个wifi下)
  2. 电脑打开fiddler,在fiddler下,Tools-fiddler options,在connections选项卡下设置监听的端口号和勾选“allow remote computers connect”,点击“ok”
  3. 手机在wifi的选项下,选择**为“手动”,然后主机名填上电脑的IP地址,端口号填上刚才设置的“8888”后,保存。
  4. 设置完毕之后,直接操作手机就可以在电脑的fiddler上看到http码流。

你可能感兴趣的