关于pcap文件的介绍,和怎么使用代码手动生成一份pcap文件,可以参考我在其他文章中的介绍,
pcap文件的结构和格式说明以及内容解析
用代码模拟抓包手动生成一个pcap文件
有了pcap文件之后,再看怎么调用wireshark解析。
首先主机上得先安装wireshark的工具软件,然后最好把环境变量配上,如果不配的话,调用的时候,需要用绝对路径,建议配上环境变量,
然后看代码:
public static void main(String[] args) {
String pcapPath = "C:\\Users\\45113\\Desktop\\tmp.pcap";
//有环境变量的话,就可以直接用 tshark 命令
//没有环境变量的话,就用绝对路径
String exePath = "D:\\tools\\Wireshark\\tshark.exe";
String cmdStr = exePath + " -V -r " + pcapPath;
try {
Process process = Runtime.getRuntime().exec(cmdStr);
// 获取命令输出结果
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
String line; //返回的结果
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
process.waitFor();
} catch (IOException) {
e.printStackTrace();
}
}
直接就可以看到返回的结果,和wireshark里一模一样的,
左边是代码输出的字符串,右边是wireshark手动解析的,一模一样,如果想讲究的话,也可以把左边的字符串格式化,放在一个tree里,看起来也比较有层次感