« NAV2004試用 | トップページ | FireFox »

GetRTTAndHopCount()

たまたまPingを利用するアプリを作成していたところ、IP Helper関連の中にPingを打つようなAPIを発見した。CodeGuruで見てみると"A New Way to Ping
"ということで紹介されていたのを思い出したがなんか怪しい。

ということでGetRTTAndHopCount()を1回だけ実行してSnifferで調べてみると以下のようになっていた。

GetRTT.png


つまり、
  ・まず相手に到達するまでTTL=1から順に増やしてICMP-Echoを飛ばす。
  ・相手に到達しICMP-EchoReplyが返ってきたらTTL=32のICMP-Echoパケットをさらに2回飛ばす。
  ・これに成功すると関数はtrueを返す。hopには届いたTTLの数(上の例では3)が入る。

ということで純粋にICMP-Echoを1回、飛ばしているわけではないことが判明。

あと見ていて分ったのは送信データサイズは32バイトで変更ができなさそう。もちろんIP Option関連もできない。やっぱりICMP.dllのほうが柔軟な対応ができる。

|

« NAV2004試用 | トップページ | FireFox »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: GetRTTAndHopCount():

« NAV2004試用 | トップページ | FireFox »