如果我有一个监听多播数据的Java程序,我怎么能知道哪些传入数据报的剩余TTL是什么?
我知道如何设置发送组播插座上的TTL,但我想知道到达分组的剩余TTL。
如果我有一个监听多播数据的Java程序,我怎么能知道哪些传入数据报的剩余TTL是什么?
我知道如何设置发送组播插座上的TTL,但我想知道到达分组的剩余TTL。
如果您收到UDP数据报原始套接字你可以检查TTL(或其他任何在IP或UDP报头)。 有很多陷阱,虽然:
什么是到达的数据包? 数据报或UDP数据包实际上可以被分成几个IP数据包,而如果他们被路由不同的不同的TTL到达。 在任一种情况下(分开或没有),Java不提供访问的IP报头。
我看了看(如我想象你做也一样),但找不到这样做的一个很好的Java API。
该TTL是在IPv4数据报中的第9个字节整体。 什么从传入数据报的情况,如果你输出的DatagramPacket中的第9个字节? 这是否看起来像TTL值? 或者说,是从IP数据报头中的DatagramPacket不可用,只有IPv4数据的数据部分?