/*************************************************************************************************************************************/
Android通过tcpdump抓包
1. 手机要有root权限
在手机上安卓终端模拟器,如果输入su后报错的话,就说明手机没有root权限,root手机话可以用root精灵(电脑版)
终端模拟器下载链接
:http://pan.baidu.com/s/1mgmt9ji
root精灵下载链接 :http://pan.baidu.com/s/1jqfuQ
2. 下载tcpdump
3.上传tcpdump到手机
adb push c:\tcpdump /data/local/tcpdump (如果已经将adb配置在了环境变量里面,则直接输入上述指令,否则需要先将当前路径,切换到adb所在路径,再输入前面的指令)
如果提示
failed to copy 'tcpdump' to '/data/local/tcpdump': Permission denied
则如下操作后重试
adb shell
su
chmod -R 777 /data/local
exit
4.修改tcpdump的权限
(1)先输入adb shell进入权限修改,若是在4.0之后的系统,再输入完adb shell 之后,我们还需要输入su命令,在运行su指令后,手机终端桌面会出现相应提示信息以确认您对root操作的认可(可能不会出现,如果没有出现也不要担心)。
(2)当出现#后,输入chmod 777 /data/local/tcpdump
5.运行tcpdump进行抓包 (用第二个)
/data/local/tcpdump -p -vv -s0 -w /sdcard/capture.pcap
/data/local/tcpdump -i any -p -s 0 -w /sdcard/capture.pcap 2 4 3(中途)
/data/local/tcpdump -i any -p -vvv -s 0 -w /sdcard/capture.pcap
/data/local/tcpdump -i any -p -vvv -a -s 0 -w /sdcard/capture.pcap 1 5 6(中途)
tcpdump 命令参数:
# “-i any”: listen on any network interface
# “-p” : disable promiscuous mode (doesn’t work anyway)
# “-s 0″ : capture the entire packet
# “-w” : write packets to a file (rather than printing to stdout)
… do whatever you want to capture, then ^C to stop it …
在手机端执行相应需要进行抓包分析的操作,执行完成后在命令提示符窗口执行Ctrl+C中断抓包进程。
6.将抓包结果复制至本地(前面那个目录为手机端地址,后面那个目录为本地地址)
adb pull /sdcard/capture.pcap d:/