首页 > 解决方案 > 使用 Java 套接字读取 IP 层标头

问题描述

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

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

标签: javasocketstcpudpip

解决方案


在操作系统级别,您需要原始套接字来访问 IP 层标头。但幸运的是,纯 Java 中不存在原始套接字,因此您需要本机代码来进行相关的系统调用。

有一些 Java 库使用 JNI 组件进行本机调用。一个例子(我过去成功使用过)是Rocksaw


推荐阅读