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

  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 ...

  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

  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

更多相关文章

  1. Android 代码实现关机重启
  2. android Dialog弹在底部核心代码
  3. android 设置缓存工具类
  4. android 代码混淆之后 微信分享不起作用
  5. Android移动操作系统源代码
  6. android交叉编译工具链接下载
  7. Android Studio系列(二)使用Android Studio开发/调试整个android系
  8. Android开发常用代码片段(三)

随机推荐

  1. 控制android弹出框不消失
  2. Android中控制虚拟键盘
  3. Android DownloadManager 使用
  4. 深入浅出Android Support Annotations
  5. Android常见面试题总结 1.1
  6. Android 双击退出应用
  7. SystemServer 分析
  8. Android InputMonitor
  9. Android工程师面试准备知识点
  10. Android 实现序列化:Parcelable和Serializ