【问题标题】:How to get the next hub如何获得下一个枢纽
【发布时间】:2010-10-17 16:06:13
【问题描述】:

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

那么我该如何实现呢?


谢谢

巴比

【问题讨论】:

    标签: java sockets


    【解决方案1】:

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

    此外,您应该解释一下“集线器”的确切含义。

    【讨论】:

      【解决方案2】:

      IP 网络中最常见的拓扑检测方法是将数据包(例如ICPM ECHO REQUEST)发送到具有非常小的TTL 值的目标地址。通常,您使用给定 DLL 到达的最后一个有效节点随后会以 ICMP 错误消息进行响应,告诉您该数据包由于其生命周期结束而丢失,从而揭示所述设备的 IP 地址。

      This question's 回答建议 Java Socket API 只能在多播套接字上设置 TTL。要解决这个问题,您可以尝试使用原始 IP 套接字,使用像 RockSaw 这样的第三方库,因为 JDK 中没有原始 IP 支持(2002 年的 bug on SUN's tracker(!)要求它关闭“不会修复”)。

      【讨论】:

      • 您提到的错误说请求已被分成两个不同的 RFE。请阅读“评估”部分
      • 其中一个是“4727550 正在跟踪对完整原始套接字支持的要求”,我链接到的错误,另一个是“4639861 正在跟踪测试主机可达性的要求”,已修复,但与问题无关。
      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-04
        • 2021-08-21
        • 2012-10-23
        • 1970-01-01
        相关资源
        最近更新 更多