下载tcpdump可参看文章最后的第二个博客链接
1. 将Android手机连接到电脑
2.进入到cmd(Ctrl+R cmd)
3. 将tcpdump程序复制一份至android手机
adb push D:/tcpdump /data/local/tcpdump
D:/tcpdump是你下载tcpdump存放的地址,/data/local/tcpdump是你要复制到手机中的地址
4. 修改tcpdump权限
adb shell
#chmod 777 /data/local/tcpdump
5. 进入root权限
adb shell
$ su
如果出现:no suitable device found,说明你没有进入root权限
在运行su指令后,手机终端桌面会出现相应提示信息以确认您对root操作的认可。
6. 运行命令启动抓包。
/data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap
7. 在手机端执行相应需要进行抓包分析的操作,执行完成后在命令提示符窗口执行Ctrl+C中断抓包进程
8. 将抓包结果复制至本地(前面那个目录为手机端地址,后面那个目录为本地地址)
adb pull /sdcard/capture.pcap c:/
9. 使用Wireshark等工具查看抓包文件capture.pcap
10. Wireshark 筛选:ip.addr eq ***.***.***.***
Eg: ip.addr eq 192.168.1.1
(ip eq.addr eq 192.168.0.1)and(ip.addr eq ......)
(转)代码中查看tcpdump结果
1 import java.io.IOException;
2 import android.app.Activity;
3 import android.os.Bundle;
4 import android.util.Log;
5 public class MainHook extends Activity {
6 /** Called when the activity is first created. */
7 @Override
8 public void onCreate(Bundle savedInstanceState) {
9 super.onCreate(savedInstanceState);
10 setContentView(R.layout.main);
11 try {
12 //Runtime.getRuntime().exec("su");
13 //Runtime.getRuntime().exec("dd if=/sdcard/tcpdump of=/data/local/tcpdump");
14 //Runtime.getRuntime().exec("chmod 6755 /data/local/tcpdump");
15 Runtime.getRuntime().exec("tcpdump -p -vv -s 0 -w /sdcard/capture.pcap");
16 Log.i("run","success!!!!!!!!!");
17 } catch (IOException e) {
18 // TODO Auto-generated catch block
19 e.printStackTrace();
20 Log.i("run",e.toString());
21 }
22 }
23 }
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
下面是一些tcpdump 使用的博客