猿问

使用 Java 套接字读取 IP 层标头

有没有办法(在Java中)使用TCP或UDP套接字读取IP层标头(我对src和dst IP感兴趣)?

我知道可以使用(数据包捕获),但我没有找到使用套接字的方法。这背后的原因是什么?pcap


慕斯709654
浏览 127回答 2
2回答

蝴蝶刀刀

在操作系统级别,您需要原始套接字来访问 IP 层标头。但幸运的是,纯Java中不存在原始套接字,因此您需要本机代码来创建相关的系统调用。有些 Java 库使用 JNI 组件进行本机调用。一个例子(我过去成功使用过)是Rocksaw。

潇湘沐

您可以打开 /dev/socket 作为 InputStream,然后读取进入 socket 的数据。
随时随地看视频慕课网APP

相关分类

Java
我要回答