我对制作一个能够从 Android 设备捕获网络流量的 C# 程序很感兴趣。使用 ADB,我能够将流量从设备转发到 Windows 标准输出。然后,输出将被转发到预先配置为监听标准输出的 Wireshark。
以下是我正在使用的命令,以防其他人需要
在第一个 CMD 窗口中
adb shell "tcpdump -n -s 0 -w - | nc -l 11233"
在第二个 CMD 窗口中
adb forward tcp:11233 tcp:11233 && nc 127.0.0.1 11233 | wireshark -k -S -i -
这是我的问题。
我正在使用 SharpPcap 在我的程序中捕获网络流量。目前,我能够从我的网络适配器(即以太网或 WiFi)获取数据包。但正如您所见,在此命令之后,网络流量从 Android 设备转发到标准输出
adb forward tcp:11233 tcp:11233 && nc 127.0.0.1 11233
此命令的输出将作为以下命令的输入,因为 Wireshark 配置为通过“-i -”侦听标准输出
每次执行以上 2 条命令,都会打开一个 Wireshark 窗口实例来抓包。这不能应用于我的程序。
这个想法是使用 SharpPcap 打开一个表单以从标准输出中捕获数据包
有谁知道如何做到这一点?也欢迎任何其他想法。
非常感谢!!!