PCAPdroid是一款专为Android设计的开源网络抓包工具,无需Root权限即可实时捕获设备上的网络数据包,支持Wi-Fi、移动数据等内容,还支持导出/PCAPNG格式,兼容Wireshark等专业分析软件。PCAPdroid具备实时流量监控、解密、DNS查询提取、防火墙规则配置等功能,并能通过nDPI协议分类库智能识别上千种应用协议。同时在PCAPdroid中用户可按应用或协议过滤定位异常连接,帮助检测恶意软件通信、中间人攻击、隐私泄露等风险,很适合开发者调试网络请求、安全分析人员排查威胁及普通用户了解设备网络行为。
1、实时抓包
显示为就绪状态后,点击就绪或上面的开始按钮:arrow_forward:便可开始捕获,之后到连接页面可以实时查看所有的连接:

不难发现,这些连接会标注是哪些APP进程产生,并显示目的域名、协议、端口,以及连接状态等基本信息。
-过滤特定目标
左图通过搜索框过滤特定目标主机,可以看到这些连接目前已经是关闭状态(CLOSED),因为用的是短连接场景;任意点选一个连接可以看到概览信息,包括连接持续时间,访问的URL、协议、进程APP和进程ID,以及产生的流量大小和载荷长度:

-查看请求和载荷
此外,以及载荷选项可以清晰看到这条TCP连接,所请求的内容和响应的内容:

这些文本可以任意复制或导出。
甚至可以显示为十六进制格式,点击右上角的格式转换即可,如右图所示:

2、保存为PCAPNG格式进行分析
-解锁并启用PCAPNG格式转储选项
存储为PCAPNG格式,付费后解锁的功能,目前价格是13港币即可解锁,并且解锁后允许进行TLS解密,在设置里面勾选即可:
-设置数据包转储

数据包转储分为三类:
服务器转储:安卓将会启动一个服务,提供PCAP包的下载;
PCAP文件:直接以PCAP格式文件存储到手机;
UDP导出器:发送PCAP文件到一个远程UDP接收器。
没有特殊需求,最直截了当的方式建议选择第二种。
-实时抓包并保存为pcapng格式
以第二种转储方式为例,点击就绪进行抓包,会以时间格式对数据包文件进行命名:

之后暂停抓包,在文件管理器里找到我们转储的抓包文件:

导出到电脑上使用wireshark打开看看
打开后是标准的数据包格式和完整交互的报文,包括TCP握手、DNS查询、TLS握手等,到这一步几乎已经秒杀目前市面上所有的安卓端抓包软件。
ICMP和UDP也能全部捕获到
-wireshark安装lua插件显示APP名称
可选项,官方提供了一个lua脚本,在wireshark中启用此脚本后,可以看到每一个数据帧对应的进程APP是谁
前提:
①开启了PCAPdroid Trailer选项,并禁用了PCAPNG格式(禁用PCAPNG格式依然不影响你转储PCAP格式文件):

3、解密报文
解密报文,前提需要安装一个附加组件,并且使用这个附加组件来启动app。
-安装PCAPdroid-mitm
在设置页面勾选TLS解密,点击下一步会提示你如何安装附加组件:

-导出并安装CA证书
PCAPdroid mitm使用mitmproxy代理TLS会话,因此需要导出PCAPdroid mitmproxy的CA证书,并且在安卓系统设置里安装证书,证书名称任意
-启用TLS解密功能
安装完毕后,使用PCAPdroid mitm打开PCAPdropid,在设置里便可成功勾选启用TLS解密功能:

1、记录并检查用户和系统应用程序建立的连接
2、提取 SNI、DNS 查询、 URL 和远程 IP 地址
3、通过内置解码器检查 请求和回复
4、检查完整连接有效负载作为十六进制转储/文本并将其导出
5、解密 流量并导出 SSLKEYLOGFILE
6、将流量转储到 PCAP 文件,从浏览器下载,或将其流式传输到远程接收器以进行实时分析(例如,wireshark)
7、创建规则来过滤掉良好的流量并轻松发现异常情况
8、通过离线数据库查找识别远程服务器的国家和 ASN
9、在 root 设备上,在其他 VPN 应用程序运行时捕获流量
1、易于操作:
PCAPdroid的界面简单直观,操作便捷,即使对网络分析不熟悉的用户也能在短时间内掌握其使用方法。
2、强大的过滤功能:
提供了丰富的过滤选项,用户可以根据协议类型、IP地址等条件筛选数据包,从而更加精准地分析网络状况。
3、实时通知功能:
当捕获到特定类型的数据包时,PCAPdroid可以即时通知用户,确保用户能够及时了解网络动态。
4、广泛的兼容性:
支持多个Android版本,并能在多种手机型号上稳定运行。这种广泛的兼容性使得PCAPdroid成为更多用户的首选工具。
v1.9.1版本
- 修复轻微崩溃问题
- 更换 zstd 解压缩库