0

java-ee 中的先生,我如何获得通过套接字在我们的系统中发送和接收的数据包头的详细信息(仅限 source_IP、destination_IP、Source_Port、Destination_Port )......每当我们打开浏览器并打开任何网站时,例如 www.stackoverflow .com 然后如果发生 222 个数据包传输,则我们的 java-ee 程序的输出将是休闲的,那么所有 222 source_IP Destination_ip source_port destination_port 192.168.5.10 64.34.119.12 2121 2929 64.34.119.12 192.168.5.10 的详细信息。.
. . . . . . . . 等等...

4

4 回答 4

2

不是纯 Java,而是借助一些库,如http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/

于 2012-05-02T06:19:46.043 回答
0

套接字是两台机器之间的端点通信。通过使用服务器套接字,您可以获得目标 ip 和端口。如果客户端视图也可以获取源 IP 而不是端口。仅使用端口连接到您的服务器。

于 2012-05-02T06:23:40.127 回答
0

是的,您可以捕获通过任何机器上特定接口传输的所有数据包,有许多工具(如 wireshark 等)可以帮助您做到这一点,并且由于这些是开源的,您可以查看源代码并从中挑选出您需要的东西他们 :)

于 2012-05-02T06:13:10.393 回答
0

据我所知,你不能用普通的java来做到这一点。在 Java 中,您只能通过套接字进行点对点连接。为了捕获所有数据包,网卡还必须处于混杂模式。在纯 java 中也无法切换到此模式。您可以使用 RMI 来调用本机代码,但是您是平台相关的。

于 2012-05-02T06:23:59.227 回答