使用tcpdump抓Android网络包

1 抓包原理

tcpdump(需Root用户运行)拦截和显示发送或收到过网络连接到该机器的TCP/IP和其他数据包。简单说就监控手机进出网络数据。

2 方法优劣

2.1优点

1.手机数据包无遗漏

2.2缺点

1.不能实时抓包

2.电脑需要安装Android SDK

3.测试手机需要获取root权限

4.测试手机需要安装tcpdump软件

3 安装准备

3.1手机获取root权限

目前针对android手机的Root工具很多,网上下载任意刷机工具,比如刷机精灵、一键ROOT等等

3.2电脑安装Android SDK

下载地址 http://developer.android.com/sdk/index.html

解压下载的文件进行安装,再配置环境变量即可,目前同事电脑基本均已安装配置此环境。

3.3手机安装tcpdump

tcpdump下载地址:   http://www.strazzere.com/android/tcpdump

4 工具安装

1.Android手机USB连接电脑,打开Windows命令提示符窗口;

2.检查手机连接是否正常;

adb devices   #检查手机是否已连接

*执行记录*:

注1:已检查到手机连接正常

3.adb shell 进入手机修改/data/local权限

adb shell   #登入手机

su          #切换Root用户

chmod 777 /data/local/    #修改目录权限,修改后Ctrl+C退出adb shell

4.将tcpdump程序copy到android手机

adb push  #tcpdump  /data/local/ ; #tcpdump文件存放在盘根目录,/data/local/为手机目标路径

(有的手机可能copy失败,可以多加一级目录就可以了adb push  #tcpdump /data/local/tmp/  )

也可通过文件浏览器工具拷贝文件;

*执行记录*(第3步至第4步)

5.adb进入手机修改tcpdump的权限,修改为可执行权限;

adb shell   #登入手机

su          #切换Root用户

chmod 777 /data/local/tcpdump    #增加可执行权限

5 实例

1.usb连接手机,切换root用户,执行抓包命令

adb shell   #登入手机

su          #切换Root用户

/data/local/tcpdump -p -vv -s 0 -w /sdcard/Mcart001.pcap   #执行抓包命令,结果保存到SD卡Mcart001.pcap文件中

2.操作APP,生成请求数据

3. 按Ctrl+C中断抓包退出

4.导出抓包结果至电脑

adb pull /sdcard/Mcart001.pcap E:/  #前为手机中文件及存放路径,后为电脑E盘根目录

5.使用Wireshark等工具分析抓包文件Mcart001.pcap

时间: 2024-08-23 11:26:15

使用tcpdump抓Android网络包的相关文章

利用tcpdump抓取网络包

1.下载并安装tcpdump 下载地址:tcpdump 安装tcpdump,连接adb adb push tcpdump /data/local/tcpdump adb shell chmod 6755 /data/local/tcpdump adb root 2.启动并运行tcpdump 直接显示连接信息 adb shell /data/local/tcpdump -n -s 0 抓取数据到文件 adb shell /data/local/tcpdump -i any -p -s 0 -w /

[转]使用tcpdump抓取HTTP包

tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 0x4745 为"GET"前两个字母"GE",0x4854 为"HTTP"前两个字母"HT". 输出到文件: sudo tcpdump  -XvvennSs 0 -i rvi0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 >> ~/out.pcapng tc

Fiddler抓手机网络包

Fiddler是一个强大的http和https抓包工具,在移动开发中,用Fiddler给手机抓网络包对开发和调试带来极大的好处.下面介绍一下具体用法: 1.第一步设置手机代理,打开手机网络设置,改为手动设置代理,ip地址写上自己电脑的IP,端口号写8888(因为finddler默认监听的端口号是8888,如果电脑8888端口号有冲突可以在fiddler里修改) 2.完成第一步后就可以抓取从手机端的HTTP包了,如果自己的客户端有HTTPS请求,非正式环境可以设置跳过证书校验,如果是正式环境则需要

61. 记一次使用fiddler抓手机网络包的过程

使用Fiddler可以很方便的抓取网络请求,比如Http,但是怎么在电脑上使用Fiddler抓取手机里面网络请求呢?比如我们要调试某个手机App. 一. 下载Fiddler 首先要下载Fiddler, 对了目前只有windows上面可以用,mac上面使用很麻烦. 下载地址可以百度,也可以在腾讯上面下载https://pc.qq.com/detail/10/detail_3330.html 二. 设置Fiddler 2.1 打开Fiddler 2.2 设置连接参数 Tools->Options->

tcpdump抓取HTTP包

tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 0x4745 为"GET"前两个字母"GE" 0x4854 为"HTTP"前两个字母"HT" 说明: 通常情况下:一个正常的TCP连接,都会有三个阶段:1.TCP三次握手;2.数据传送;3.TCP四次挥手 里面的几个概念: SYN: (同步序列编号,Synchronize Sequence Numb

如何同时在Isilon的所有网卡上抓取网络包?

命令行如下: cd /ifs/data/Isilon_Support/ mkdir $(date +%m%d%Y) isi_for_array 'for i in `ifconfig | grep -B2 ether | grep flags | cut -d: -f1` ; do tcpdump -i ${i} \ -s0 -w /ifs/data/Isilon_Support/$(date +%m%d%Y)/`hostname`.${i}_$(date +%m%d%Y_%H%M%S).pca

Android利用wireshark抓取网络数据包

Android利用tcpdump和wireshark抓取网络数据包:http://blog.csdn.net/forlong401/article/details/23538737 Mac OS X上使用Wireshark抓包:http://blog.csdn.net/phunxm/article/details/38590561 Mac mini下wireshark抓包的使用:http://blog.sina.com.cn/s/blog_50da19a50101nxzn.html 如何mac下

Wireshark和TcpDump抓包分析对比

常见的抓包分析工具有:微软的Network Monitor和Message Analyzer.Sniff.WSExplorer.SpyNet.iptools.WinNetCap.WinSock Expert.Wireshark和linux的tcpdump等工具 今天,做了实验测试就对比分析其中的两款,其他的大家可以百度谷歌测试一哈^_^ 1. Wireshark与tcpdump介绍 Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Windows平台下使用

tcpdump 抓包

简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的"头"完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息. 实用命令实例 默认启动 tcpdump 普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包. 监视指定网络接口的数据包 tcpdu