实时监控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 

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


目录
相关文章
|
5天前
|
运维 监控 安全
|
5天前
|
监控 网络协议 安全
|
19天前
|
存储 Java 网络安全
如何使用Python批量连接网络设备?
【7月更文挑战第4天】
22 1
如何使用Python批量连接网络设备?
|
10天前
|
网络协议 安全 Shell
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。
|
16天前
|
运维 监控 安全
网络工程师:设备巡检命令
【7月更文挑战第7天】
23 0
网络工程师:设备巡检命令
|
17天前
|
安全 网络安全 网络虚拟化
网络工程师:思科设备巡检命令
【7月更文挑战第6天】
24 0
网络工程师:思科设备巡检命令
|
17天前
|
传感器 运维 监控
|
Android开发 Java
如何在Android Studio中导入包:android-support-v4/Fragment
版权声明:转载请联系本人,感谢配合!本站地址:http://blog.csdn.net/nomasp https://blog.csdn.net/NoMasp/article/details/48710143 ...
3288 0
|
12天前
|
开发工具 Android开发 iOS开发
探索Android与iOS开发的差异与挑战
【7月更文挑战第11天】在移动应用开发的广阔天地中,Android和iOS两大平台如同双子星座般耀眼,各自拥有独特的开发生态和用户群体。本文将深入分析这两个平台的显著差异,从技术架构到开发工具,再到市场定位,揭示它们之间的异同。通过比较,我们不仅能够更好地理解各自的优势和局限,还能洞察未来移动应用开发的趋势。
|
9天前
|
Android开发 Kotlin
kotlin开发安卓app,如何让布局自适应系统传统导航和全面屏导航
使用`navigationBarsPadding()`修饰符实现界面自适应,自动处理底部导航栏的内边距,再加上`.padding(bottom = 10.dp)`设定内容与屏幕底部的距离,以完成全面的布局适配。示例代码采用Kotlin。
46 15