博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转: Android开发的网络抓包
阅读量:6848 次
发布时间:2019-06-26

本文共 1026 字,大约阅读时间需要 3 分钟。

 

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

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

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

一、准备工具:

1、android 系统root2、android上安装tcpdump3、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 PortsYou 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:7100You can also use adb to set up forwarding to named abstract UNIX domain sockets, as illustrated here:adb forward tcp:6100 local:logd

转载地址:http://xroul.baihongyu.com/

你可能感兴趣的文章
第一次实验报告
查看>>
正则匹配replace替换重复字符串
查看>>
[Linux学习]chattr配置文件隐藏属性及lsattr查看隐藏属性
查看>>
mybatis大数据提交和更新,数据SQL语句批量提交数据库
查看>>
每天一个小算法(Shell Sort2)
查看>>
Java数据结构与算法(7) - ch05双向链表(Double List)
查看>>
fiddler 教程
查看>>
net中捕获摄像头视频的方式及对比
查看>>
国资委将规范国有企业收入分配机制
查看>>
RabbitMQ 消息确认机制
查看>>
NSValue&NSNumber
查看>>
201621123075 Week03-面向对象入门
查看>>
直线相交 模板 大全
查看>>
python request
查看>>
Android 页面滑动
查看>>
Linux 内核启动流程(转)
查看>>
mysql常见优化
查看>>
Centos7系统下安装Docker
查看>>
重读金典------高质量C编程指南(林锐)-------第四章 表达式和基本语句
查看>>
45、文件过滤器FilenameFilter
查看>>