如何获得下一个中心

时间:2009-04-05 14:56:35

标签: java sockets

我想写一个Java程序,如果我给出目标IP地址,我将获得下一个集线器的信息以达到该IP。

那我怎么能实现这个目标呢?


 感谢

巴皮

3 个答案:

答案 0 :(得分:2)

Java程序???你有tracert ...

此外,您应该解释“hub”究竟是什么意思。

答案 1 :(得分:2)

我认为你的意思是下一跳而不是“中心”。

对于主机,可以从主机的路由表中检查下一个主机,使用traceroute可以将其实现为以下stackoverflow线程:

How can I determine the IP of my router/gateway in Java?

答案 2 :(得分:1)

IP网络中最常见的拓扑检测方法是将数据包(例如ICPM ECHO REQUEST)发送到具有非常小的TTL值的目标地址。通常,您使用给定DLL到达的最后一个有效节点将响应ICMP错误消息,告知您数据包因其使用寿命而丢失,从而泄露所述设备的IP地址。

This question's回答表明Java Socket API只能在多播套接字上设置TTL。要解决此问题,您可以尝试使用第三方库(如RockSaw)处理原始IP套接字,因为JDK中没有原始IP支持(2002年bug on SUN's tracker请求!它很接近“不会修复”)。