[转] Android实时抓包分析 : 善用adb调试桥

摘要:
Android实时数据包捕获分析:说到Android网络数据包捕获,很多人都会想到很棒的tcpdump。方法是在Android机器上安装tcpdump,通过-w参数将捕获的数据包记录到本地,然后捕获捕获的数据。cap文件被导入到PC,并使用wireshark进行分析。这里有很多步骤,在与后台进行联合调试时效率很低。我可以在Android上启动数据包捕获并直接在PC上查看实时数据包捕获结果吗?
Android实时抓包分析 : 善用adb调试桥
 

谈到android网络抓包,很多人都能想到牛逼轰轰的神器tcpdump。方法就是在android机器上面安装tcpdump,然后通过-w参数把抓包记录到本地,再把抓到的.cap文件导到pc上面用wireshark来分析。这里步骤非常多,在和后台联调的时候,这个效率是非常低的。

能不能在android上面启动抓包,然后直接在pc端看到实时抓包结果?

有了adb调试桥,我们就可以做到这么便捷。

一、准备工具:

1、android 系统root

2、android上安装tcpdump

3、android上安装netcat,可以直接使用busybox的版本

4、pc的wireshark的安装目录下需要有nc客户端

5、把android手机和pc通过usb调试连接上

二、命令:

1、android上先执行:

/data/tcpdump-arm -n -s 0 -w - | nc -l -p 11234

 * 11234是示例,端口可以自己定

2、pc上启动adb forward:

adb forward tcp:11234 tcp:11234 && nc64 127.0.0.1 11234 | wireshark -k -S -i -

 * 这里的11234要和前面启用11234要保持一致

3、如果抓包成功,那么pc端的wireshark是自动启动的,并且可以看到网络包

三、实现原理:

关键的逻辑在adb forward这个命令,这个命令实现了端口映射的功能:

Forwarding Ports
You can use the forward command to set up arbitrary port forwarding — forwarding of requests on a specific host port to a different port on an emulator/device instance. Here's how you would set up forwarding of host port 6100 to emulator/device port 7100:

adb forward tcp:6100 tcp:7100
You can also use adb to set up forwarding to named abstract UNIX domain sockets, as illustrated here:

adb forward tcp:6100 local:logd 

免责声明:文章转载自《[转] Android实时抓包分析 : 善用adb调试桥》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇〖教程〗Ladon 7.8密码爆破自定义端口(SSH为例)_tcsrchr 规格严格下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【转】解决:adb 提示adb server version(31) doesn't match this client(41) 解决办法

原文:https://blog.csdn.net/gufenchen/article/details/91383397 一、有时候我们用adb工具去连接安卓设备,或者模拟器的时候,会提示adb server version(31) doesn’t match this client(40)这样的提示。如图 提示的字面意思就是当前client版本40,与s...

adb获取Android性能数据

环境:Android测试环境 搭建Android测试环境: 1、下载AndroidSDK; 2、配置环境变量; (1)、ANDROID_HOME (2)、ANDROID_HOME-TOOLS (3)、ANDROID_HOME-PALTFORM-TOOLS 3、Android底层Java开发,如需运行安卓远程调试桥(adb),需Java运行环境; 4、下载J...

cap文件格式解析

简介   cap包为通过抓包软件保存下来的数据包文件,不同的抓包软件保存下来的cap包格式也有很大差异,从最开始的4个字节便可以看出,如下列出不同抓包软件的cap包文件前4字节的差异 #define CAP_SNIFFER_WINDOWS_200X "x58x43x50x00" //sniffer抓包的cap文件 #define PCAP_...

如何过滤 adb logcat 输出

对原作者表示感谢,转自博客:http://www.otechu.me/zh/2011/12/filtering-adb-logcat-output/ 本文介绍如何在shell 命令行中过滤 adb logcat 输出的几个小技巧。 开发当中经常看到别人的 log 如洪水般瞬间刷满了屏幕,对自己有用的信息都被淹没了,影响心情也影响效率。下面是几个我所知道的过...

openwrt-智能路由器hack技术(2)---"网路信息监控和窃取"

openwrt-智能路由器hack技术(2)---"网路信息监控和窃取" 1   导读 PS:之前写的一个文章,现在发现结构内容排版不是太好,导致阅读体验太差,影响传播和SEO,所以现在整理拆分一下,从小处写起, 本系列介绍了两个关于智能路由器的hack技术,供大家赏玩一下。 本文主要介绍openwrt-智能路由器的数据监控功能。(为了维持本文一定的独立...

adb -s指定安卓设备进行shell连接

1、adb shell如何指定安卓设备,下面是两个设备,第一个是模拟器,第二个是真机 2、使用命令adb -semulator-5554 shell adb -s <serial number> cmd 参考: 当有多个设备online时,命令行窗口通过adb连接指定设备方法_shell_Code Heaven-CSDN博客...