IP TTLを設定する
ここでは、SetIpTTLを利用してWindowsのDefault IP TTLの設定を変更するプログラムの書き方を説明したいと思います。
サンプルコード
以下の例では、コンピュータのIP TTLの設定を変更します。 SetIpTTLを行うと機器内で全ての通信用のIP TTLのDefault設定が変わってしまうので気をつけてください。
#include <stdio.h>
#include <winsock2.h>
#include <iphlpapi.h>
int
main()
{
UINT defaultTtl;
DWORD dw;
defaultTtl = 64;
dw = SetIpTTL(defaultTtl);
if (dw == NO_ERROR) {
printf("Default TTL set to %d\n", defaultTtl);
} else {
printf("SetIpTTL failed\n");
}
return 0;
}
機器で設定されているDefault TTLの値を知るにはGetIpStatistics()を利用してください。
上記サンプルはSetIpTTL()を利用してDefault TTLを設定していますが、SetIpStatistics()を利用してDefault TTLを変更することも可能です。
サンプルコード実行例
上記コードをコンパイルして出来たものを実行すると、以下のようになります。
C:> a.exe
Default TTL set to 64