tcpdump是基于Unix系统的命令行式的数据包嗅探工具

tcpdump  可以监测真机或者模拟器 2g/3g/wifi下数据流动,前提手机必须root过。

 

问题:使用安卓模拟器开始了usb调试后,  电脑无法检测出安卓设备所以无法将电脑中的tcpdump拷贝到安卓模拟器的系统路径中,在电脑端输入命令adb devices 没发现任何设备。一直以为应该有办法可以支持模拟器测试,后来发现了确实不行。因为看到了下面一篇文章  模拟器和真机的区别。

 

 

下载tcpudmp,http://www.strazzere.com/android/tcpdump

下载Wireshark,http://dlsw.baidu.com/sw-search-sp/soft/01/15788/Wireshark-win32-1.11.2.1339076454.exe 

 

前提必须手机root,而且已经开启usb调试了。注意:真机和模拟器通过tcpdump 抓包可能略为不同,本机为抓包真机

如果你操作过程中出现error: device offline错误,网上千奇百怪的解决答案,有的是输入 adb kill-server 等命令后就好了,或者安装正确驱动(小米手机好出这问题),而我试过了很多解决办法都不能解决。最后通过 下载最新的adb(sdk),成功打开设备。

 

下面的操作命令都在电脑dos中输入,路径在 C:\Users\mikple\Downloads\adt-bundle-windows-x86_64-20131030\sdk\platform-tools>

1. 先给手机刷root权限,执行命令:
adb root 
adb remount
ok后:把tcpdump放到c盘根目录下:C:\      

      2. 执行命令:
adb push c:/tcpdump /data/local/tcpdump  
(这个命令是把tcpdump拷到手机中去 ,但是我去手机相应文件夹却找不到tcpdump这个路径,可能隐藏了)

3. adb shell chmod 6755 /data/local/tcpdump
是给tcp分配权限

4. adb shell          
/data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap  --这个貌似抓数据为空

修改成

tcpdump -i any -p -s 0 -w /sdcard/capture8.pcap

 

 

命令参数:
        # "-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 ...

输入 这个命令就等于启动了抓包工具并将抓包数据放到capture.pcap中去

5. 要停止抓包就Ctrl+C,(去手机的文件路径却找不到capture.pcap,莫非隐藏了)

6.将抓包数据拷贝到c盘             adb pull /sdcard/capture.pcap c:/
7. sdcard的capture.pcap复制出来到电脑上用wireshark打开即可

 

以后抓包,只i要城府 4,5,6,7 就行了

 

 

 

用wireshark 打开后,包的数据却为空,很出奇!!!

抓包tcpdump-LMLPHP

05-28 14:42