Android利用tcpdump和wireshark抓取网络数据包

主要介绍如何利用tcpdump抓取andorid手机上网络数据请求,利用Wireshark可以清晰的查看到网络请求的各个过程包括三次握手,但相对来说使用Fiddler进行网络数据抓包和展现更方便,优点包括:

(1)无需root (2)对Android和Iphone同样适用 (3)操作更简单方便(第一次安装配置,第二次只需设置代理即可) (4)数据包的查看更清晰易懂 (5) 可以查看https请求,建议使用Fillder,具体可见:利用Fiddler进行网络数据抓包

1、下载并安装tcpdump
下载地址:tcpdump
安装tcpdump,命令行模式依次执行:

Java

1

2

3

adb root

adb push C:\Users\Trinea\Desktop\tcpdump /data/local/tcpdump

adb shell chmod 6755 /data/local/tcpdump

其中adb push的第一个参数为本地tcpdump的路径。

2、启动并运行tcpdump
命令行模式运行下面命令:

1

adb shell /data/local/tcpdump -n -s 0

这时在手机上做任何涉及到网络的操作都会在屏幕上打印出来,可以通过ctrl+c停止。

由于命令行最大输出的限制及屏幕不断滚动,查看不方便,我们可以将抓取的网络包保存到sd卡,如下命令:

1

adb shell /data/local/tcpdump -i any -p -s 0 -w /sdcard/netCapture.pcap

依然通过ctrl+c停止,将文件拉取到本地PC

1

adb pull /sdcard/netCapture.pcap d:\\

通过–help我们发现tcpdump支持如下参数:
tcpdump [-aAdDeflLnNOpqRStuUvxX] [-c count] [ -C file_size ]
[ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ] [ -y datalinktype ] [ -Z user ]
[ expression ]
其中-c表示监控的请求个数;-C表示存储文件的最大大小;
-i表示监控的类型;-s表示抓取的网络请求返回的大小,0表示抓取整个网络包;-w表示抓取的包保存的文件路径,此时不会在标准输出打印。并且可以添加port参数表示端口。

3、利用wireshark分析数据

wireshark下载地址,中文版地址:http://www.onlinedown.net/softdown/2883_2.htm,英文版地址(需要FQ):http://www.wireshark.org/download.html

用wireshark打开capture.pcap即可分析log
关于wireshark具体可见:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html

转子 http://www.trinea.cn/android/tcpdump_wireshark/

时间: 2024-10-09 11:41:08

Android利用tcpdump和wireshark抓取网络数据包的相关文章

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下

用C++实现网络编程,抓取网络数据包的实现方法和介绍

做过网管或协议分析的人一般都熟悉sniffer这个工具,它可以捕捉流经本地网卡的所有数据包.抓取网络数据包进行分析有很多用处,如分析网络是否有网络病毒等异常数据,通信协议的分析(数据链路层协议.IP.UDP.TCP.甚至各种应用层协议),敏感数据的捕捉等.下面我们就来看看在windows下如何实现数据包的捕获. 下面先对网络嗅探器的原理做简单介绍. 嗅探器设计原理 嗅探器作为一种网络通讯程序,也是通过对网卡的编程来实现网络通讯的,对网卡的编程也是使用通常的套接字(socket)方式来进行.但是,

wireshark抓取OpenFlow数据包

在写SDN控制器应用或者改写控制器源码的时候,经常需要抓包,验证网络功能,以及流表的执行结果等等,wireshark是个很好的抓包分析包的网络工具,下面简介如何用wireshark软件抓取OpenFlow数据包 一. wireshark2.0.0 wireshark2.0.0直接内置了OpenFlow协议,只需要安装wireshark2.0.0即可. 在安装wireshark之前需要安装一些依赖包: sudo apt-get install bison flex libpcap-dev gcc

wireshark抓取本地数据包

windows系统中,本地向自身发送数据包没有经过真实的网络接口,而是通过环路(loopback interface)接口发送,所以使用基于只能从真实网络接口中抓数据的winpcap是无法抓取本地数据包,需要使用npcap,npcap是基于winpcap 4.1.3开发的,api兼容WinPcap,并且提供“npcap loopback adapter”用于抓取本地向自身发送的数据包. 使用方法: 1.下载安装WireShark,版本号必须是高于 1.12.8和 1.99.9,已安装就不用装了,

linux使用tcpdump抓包工具抓取网络数据包,多示例演示

tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump可以查看tcpdump的详细说明,这边只列一些笔者自己常用的参数: tcpdump [-i 网卡] -nnAX '表达式' 各参数说明如下: -i:interface 监听的网卡. -nn:表示以ip和port的方式显示来源主机和目的主机,而不是用主机名和服务. -A:以ascii的方式显示数据包,

怎样使用 fiddler抓取网络数据包?

今天我们使用的工具是一个非常著名的抓包工具,百度搜索一下即可找到(或者关注/私信我,查看共享,一般我在百度经验中使用到的软件类工具,都可以在共享网盘中找到),因此这里不演示下载,相信您能很容易得到它的. 下载/安装并运行它,界面如下:   一般地,我们常用的功能是: 1.开始/暂停 抓包,方法是,点击"File"->"Capture Traffic",或者直接按快捷键F12; 2.保存已经抓取到的数据包,方便以后再导入分析,点击"File"

Wireshark学习笔记——如何快速抓取HTTP数据包

0.前言 在火狐浏览器和谷歌浏览器中可以非常方便的调试network(抓取HTTP数据包),但是在360系列浏览器(兼容模式或IE标准模式)中抓取HTTP数据包就不那么那么方便了.虽然也可使用HttpAnalyzer等工,但是毕竟都是收费软件.只需通过合适的过滤和操作,Wireshark也可抓取HTTP请求和响应.下面便说明具体操作. 假设在8080端口运行一个HTTP服务器,本例中使用Python Flask运行一个HTTP服务并侦听8080端口,实现一个简单的加法运算,网页中通过ajax提交

iOS—网络实用技术OC篇&网络爬虫-使用java语言抓取网络数据

网络爬虫-使用java语言抓取网络数据 前提:熟悉java语法(能看懂就行) 准备阶段:从网页中获取html代码 实战阶段:将对应的html代码使用java语言解析出来,最后保存到plist文件 上一片文章已经介绍我们可以使用两个方式来抓取网络数据实现网络爬虫,并且大致介绍了一下怎么使用正则表达式去实现数据的抓取 由于笔者曾经学过一段时间java和android相关的技术,今天就讲讲怎么使用java去抓取网络数据,关于Python有机会等笔者好好研究一下再来分享,但其实会一种就可以,除非你的需求

iOS开发——网络使用技术OC篇&网络爬虫-使用正则表达式抓取网络数据

网络爬虫-使用正则表达式抓取网络数据 关于网络数据抓取不仅仅在iOS开发中有,其他开发中也有,也叫网络爬虫,大致分为两种方式实现 1:正则表达 2:利用其他语言的工具包:java/Python 先来看看网络爬虫的基本原理: 一个通用的网络爬虫的框架如图所示: 网络爬虫的基本工作流程如下: 1.首先选取一部分精心挑选的种子URL: 2.将这些URL放入待抓取URL队列: 3.从待抓取URL队列中取出待抓取在URL,解析DNS,并且得到主机的ip,并将URL对应的网页下载下来,存储进已下载网页库中.