是否有一种方法(在Java中)使用TCP或UDP套接字读取IP层标头(我对src和dst IP感兴趣)?
我知道可以使用pcap
(数据包捕获),但是我没有找到使用套接字的方法。
背后的原因是什么?
答案 0 :(得分:1)
在操作系统级别,您需要raw sockets才能访问IP层标头。但是幸运的是,原始套接字在纯Java中不存在,因此您需要本机代码来进行相关的syscall。
有些Java库使用JNI组件进行本机调用。 Rocksaw是一个示例(我过去曾经成功使用过)。
答案 1 :(得分:0)
您可以将/ dev / socket作为InputStream打开,并读取进入套接字的数据。