Reader读取TcpDump读取的Pcap包
16lz
2021-01-25
测试一个在Android读取Tcpdump抓取的网络包应用,取Packet的代码如下:
(此为AndroidShark中的代码,为一开源项目)
private ArrayList<JPacket> packets = new ArrayList<JPacket>();
StringBuilder errbuf = new StringBuilder();
// Opening the .pcap file.
final Pcap parser = Pcap.openOffline("/mnt/sdcard/shark/shark_capture.pcap",errbuf);
JPacketHandler<String> handler = new JPacketHandler<String>() {
@Override
public void nextPacket(JPacket packet, String user) {
System.out.println("handler is run!!!");
packets.add(packet);
}
};
parser.loop(10, handler, null);
System.out.println("result len is ="+packets .size());
parser.close();
其中,测试中shark_capture.pcap是由wireshark抓取的,在wireshark中正常使用。
现在的问题是packets长度为0,handler中的nextPacket方法似乎一直未被执行,不解,忘做过类似系统的高手指教!
整个项目的源码见附件:
(此为AndroidShark中的代码,为一开源项目)
private ArrayList<JPacket> packets = new ArrayList<JPacket>();
StringBuilder errbuf = new StringBuilder();
// Opening the .pcap file.
final Pcap parser = Pcap.openOffline("/mnt/sdcard/shark/shark_capture.pcap",errbuf);
JPacketHandler<String> handler = new JPacketHandler<String>() {
@Override
public void nextPacket(JPacket packet, String user) {
System.out.println("handler is run!!!");
packets.add(packet);
}
};
parser.loop(10, handler, null);
System.out.println("result len is ="+packets .size());
parser.close();
其中,测试中shark_capture.pcap是由wireshark抓取的,在wireshark中正常使用。
现在的问题是packets长度为0,handler中的nextPacket方法似乎一直未被执行,不解,忘做过类似系统的高手指教!
整个项目的源码见附件:
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- Android通过主题样式更改标题栏颜色以及文字大小和颜色
- clickOnMenuItem应注意的
- Android有用代码片段(零)
- Android(安卓)电话 短信
- android 4.3以上修改DNS 及 流程(netd)
- Android源码个个击破之PackageManager
- Android(安卓)Studio&源码混淆配置及其调试注意事项