如何在C编程中更新TTL?

时间:2011-12-21 06:31:10

标签: c linux networking

我在ping中添加了一个新函数。 我想通过命令行设置TTL,但ping是由ICMP构建的,TTL是在IP中设置的。 所以你能告诉我一些解决方法吗?谢谢。

1 个答案:

答案 0 :(得分:5)

你没有提到你的目标平台(或者你必须重新发明轮子的原因,如上所述),但无论如何我们都去了。

在* NIX上,它是已打开套接字的标准套接字选项。它只是在网络堆栈的不同级别。 SOOOO ...

setsockopt (socket_descriptor, IPPROTO_IP, IP_TTL, val, val_var_len);

如果你在* NIX世界,请参阅W. Richard Stevens的插座上的圣经。否则,其他人会/可能会帮忙。