如何从存储在pcap文件中的数据包中获取协议详细信息



我想制作一个切换循环(在java中),其情况是存储在pcap文件中的数据包的ip头的协议。

我正在使用jnetpcap库来访问数据包。

我知道如何从数据包中获取ip地址、端口号等,但我想知道是否有一个函数可以直接告诉我数据包的协议,即tcp、udp、icmp等。还可以建议他/她是否知道任何其他具有这种功能的库。

提前谢谢。

存在jpcap库,内置函数可用于提取数据包的协议和其他详细信息。

我自己找到了答案:

使用JNETPCAP库,
对于TCP/IP堆栈:我们可以根据TCP标头的端口号来获取协议

以下链接提供了与不同协议相对应的端口号:http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml

在jnetpap中获取协议:
PcapPacket数据包=//从某处获取

Tcp-Tcp=新Tcp()
Ip4 ip=新Ip4()

如果(packet.hasHeader(ip)&packet.hasHeader(tcp)){
 nbsp nbsp;if(tcp.source()==80){
 nbsp nbsp nbsp nbsp;System.out.println("HTTP协议")
 nbsp nbsp;否则if(tcp.source==23)
 nbsp nbsp nbsp nbsp;System.out.println("Telnet协议")

}

最新更新