是否可以用 C 语言编写一个能够为 UDP 数据包设置 MSL 的程序?
Is it possible to write a program in C which is able to set the MSL for a UDP-Packet?
是否可以用C写一个程序,可以为UDP-Packet设置MSL并接收死亡的return信息,这样我就可以知道包裹在哪里?我读到你只能在 OS 中设置它,但是像 traceroute 这样的程序怎么可能使用 UDP 中的这个 headeroption?
您是指生存时间 (TTL) 吗?您应该能够使用 IP_TTL
套接字选项(请参阅 ip(7))来设置在该套接字上发送的数据包的生存时间。如果数据包经过足够多的跃点使 TTL 变为零,则丢弃数据包的节点应将 ICMP Time Exceeded 消息发送回原始主机。要收到错误,我认为您可能必须创建一个 ICMP 套接字。这就是 traceroute
所做的,所以你可能想看看源代码。
是否可以用C写一个程序,可以为UDP-Packet设置MSL并接收死亡的return信息,这样我就可以知道包裹在哪里?我读到你只能在 OS 中设置它,但是像 traceroute 这样的程序怎么可能使用 UDP 中的这个 headeroption?
您是指生存时间 (TTL) 吗?您应该能够使用 IP_TTL
套接字选项(请参阅 ip(7))来设置在该套接字上发送的数据包的生存时间。如果数据包经过足够多的跃点使 TTL 变为零,则丢弃数据包的节点应将 ICMP Time Exceeded 消息发送回原始主机。要收到错误,我认为您可能必须创建一个 ICMP 套接字。这就是 traceroute
所做的,所以你可能想看看源代码。