Android利用tcpdump抓包

Android利用tcpdump抓包


Instructions 
http://source.android.com/porting/tcpdump.html 
Source Code and Documents 
http://www.tcpdump.org/ 
Compiled Binary Download 
http://www.strazzere.com/android/tcpdump 
数据包分析工具Wireshark 
http://www.wireshark.org/download.html 


Installing tcpdump
 
Pushing the binary to an existing device 
Download tcpdump from  http://www.tcpdump.org/, then execute: 

adb root  
adb remount  
adb push /wherever/you/put/tcpdump /system/xbin/tcpdump  
adb shell chmod 6755 /data/local/tmp/tcpdump



Running tcpdump 
You need to have root access on your device. 
Batch mode capture 
The typical procedure is to capture packets to a file and then examine the file on the desktop, as illustrated below: 
Cmd代码    收藏代码
  1. adb shell tcpdump -i any -p -s 0 -w /sdcard/capture.pcap  
  2. "-i any": listen on any network interface  
  3. "-p": disable promiscuous mode (doesn't work anyway)  
  4. "-s 0": capture the entire packet  
  5. "-w": write packets to a file (rather than printing to stdout)  
  6.   
  7.    ... do whatever you want to capture, then ^C to stop it ...  
  8.   
  9. adb pull /sdcard/capture.pcap .  


You can run tcpdump in the background from an interactive shell or from Terminal. By default, tcpdump captures all traffic without filtering. If you prefer, add an expression like port 80 to the tcpdump command line. 

Real time packet monitoring 
Execute the following if you would like to watch packets go by rather than capturing them to a file (-n skips DNS lookups. -s 0 captures the entire packet rather than just the header): 
Cmd代码    收藏代码
  1. adb shell tcpdump -n -s 0  


Typical tcpdump options apply. For example, if you want to see HTTP traffic: 


先把内容放这,有空来做些整理和说明。


你可能感兴趣的:(Android利用tcpdump抓包)