开发者社区> horky> 正文

实时监控Android设备网络封包

简介: 对Android网络抓包分析,一般是使用tcpdump抓个文件,再到PC用Wireshark打开分析。能不能达到直接使用Wireshark的效果? 答案是可以的,至少已经非常接近了。
+关注继续查看

对Android网络抓包分析,一般是使用tcpdump抓个文件,再到PC用Wireshark打开分析。能不能达到直接使用Wireshark的效果? 答案是可以的,至少已经非常接近了。实现起来很简单,原理就是将tcpdump的数据重定向到网络端口,再通过管道(pipe)转到wireshark就可以了。


基本结构


如下图所示:


Android上使用的指令:

   i. tcpdump 

     正是因为可以生成libpcap格式的数据,Wireshark可以加以处理。

     官网:http://www.tcpdump.org/

     下面这个链接介绍了Android版本的编译:

     http://omappedia.org/wiki/USB_Sniffing_with_tcpdump  


   ii. netcat, 又称为瑞士军刀,小巧而功能强悍。如果在手机没有nc指令,可以方便地使用busybox提供的版本(直接到Google Play里安装)。

     http://www.busybox.net/


   iii. Wireshark, 不啰嗦了。

     http://www.wireshark.org/ 



两条指令


准备好了工具,依下面的方式执行两条指令就可以了 (只需要替换tcpdump所在的路径,以及nc前要不要加个busybox):


i. 使用adb shell在Android设备上执行:

     tcpdump -n -s 0 -w - | busybox nc -l -p 11233 

     *其中nc -l -p 11233, 即建立一个服务器端,以11233端口提供服务。需要以root用户执行。


ii. 在主机的命令下执行:

     adb forward tcp:11233 tcp:11233 && nc 127.0.0.1 11233 | wireshark -k -S -i - 

    *其nc 127.0.0.1 11233,即建立一个客户端,连接到本机的11233端口。wireshark的参数见后面的补充说明。


*在Mac OS下有时需要在wireshark前加上sudo, 不然打开失败。如果没有看到结果,可以在nc指令加-v参数,显示更多的信息来查看。比如出现"Connection refused“时,注意检查指定的端口号是否正确。


也可以参考这里:

     http://www.kandroid.org/online-pdk/guide/tcpdump.html


效果如下,注意标题显示"Capturing from Standard Input"。



补充说明


 i. tcpdump详解

     http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 


 ii. 什么是libpcap格式

     http://wiki.wireshark.org/Development/LibpcapFileFormat 


 iii. wireshark参数

     http://man.lupaworld.com/content/network/wireshark/c9.2.html

     官方:http://www.wireshark.org/docs/man-pages/wireshark.html

 *Wireshark还带一些其它指令,如下:

     http://www.wireshark.org/docs/man-pages/


转载请注明出处:http://blog.csdn.net/horkychen 

其它有关生产力相关的文章,看这里


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【无人机】基于博弈论的无人机授权应急网络中用户设备关联模拟器附matlab代码
【无人机】基于博弈论的无人机授权应急网络中用户设备关联模拟器附matlab代码
31 0
《轻松应对双11,百万级物理和虚拟网络设备的网络智能化实践》电子版地址
轻松应对双11,百万级物理和虚拟网络设备的网络智能化实践
46 0
西门子S7-1200硬件的组态,设备配置、网络组态
今天我们来学习西门子S7-1200硬件的组态。在S7-1200中当用户新建一个项目时,应当先进行硬件组态,硬件组态是编写项目程序的基础。在STEP7 Basic中,硬件组态遵循所见即所得的原则,PLC和HMI设备都能在相同的环境以相同的方式插入列项目中。
543 0
DFP 数据转发协议应用实例 4.修改网络中指定设备的参数
稳控科技编写的一套数据转发规则, 取自“自由转发协议 FFP(Free Forward Protocol)” ,或者 DFP(DoubleF Protocol), DF 也可以理解为 Datas Forward(数据转发)的缩写。DF 协议是与硬件接口无关的数据链路层协议,规定了数据流如何在不同设备之间、不同接口之间的传输方向。 DF 协议一般用于延长数字接口的传输距离(数据中继),它与硬件接口类型无关,可以基于 UART、 LoRA、TCP 等异步数据传输介质。
29 0
常见的网路设备和网络参考模型,以及常见的网络层协议及数据通信过程
通过介质(例如,网线、光纤、无线WIFI)将网络设备和终端连接起来。操作系统、应用软件、应用程序相互通讯。实现资源共享、信息传递。Internet组成Internet由多个ISP(运营商)组成,例如移动、电信、联通等众多运营商组成。...
32 0
如何判断设备使用网络的状态
如何判断设备使用网络的状态
58 0
[软考考点解析]软件设计师--设备所处网络层次
1. 题目 以下关于网络层次与主要设备对应关系的叙述中,配对正确的是____。 A 网络层–集线器 B 数据链路层–网桥 C 传输层–路由器 D 会话层–防火墙
55 0
Project CHIP试图解决物联网设备和网络碎片化问题
去年12月,Zigbee联盟发起了“Project Connected Home over IP(基于IP的家庭互联项目)”(CHIP),其宏伟目标是实现即插即用型消费物联网设备。 由亚马逊,苹果和谷歌领导的Project CHIP计划于今年晚些时候发布规格和开源代码。现在,最初的媒体和分析师的报道已经尘埃落定,CHIP项目就值得我们仔细研究,因为大型、知名的公司只有真正相信自己能够实现目标,才能够围绕这样一个大胆的目标团结起来。
513 0
+关注
horky
Web及移动开发技术
文章
问答
文章排行榜
最热
最新
相关电子书
更多
可预期数据中心网络
立即下载
可编程网络视角的网络创新研究
立即下载
思科软件定义访问:实现基于业务意图的园区网络
立即下载