在传出UDP数据包上设置TTL?

0 c++ sockets ip networking udp

如何使用C / C ++标准库在Windows,Mac和Linux的C / C ++中设置生存时间套接字选项?它需要没有Boost才能工作。C或C ++都可以。出站UDP数据包的IP标头修改。没有多播。

Ami*_*mit 5

基本上,这是通过standard完成的setsockopt。您需要使用IPPROTO_IP级别,选项为IP_TTL

我在gnu.org上找不到此链接,但是在freebsd上(例如,..),您有手册页。

使用:

int ttl = 60; /* max = 255 */
setsockopt(s, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl));
Run Code Online (Sandbox Code Playgroud)