您的位置:首页 > 理论基础 > 计算机网络

Android利用tcpdump抓包

2012-09-12 15:14 776 查看


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:

Cmd代码







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代码







adb shell tcpdump -i any -p -s 0 -w /sdcard/capture.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 ...

adb pull /sdcard/capture.pcap .

sudo apt-get install wireshark # or ethereal, if you're still on dapper

wireshark capture.pcap # or ethereal

... look at your packets and be wise ...

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代码







adb shell tcpdump -n -s 0

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

Cmd代码







adb shell tcpdump -X -n -s 0 port 80

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: