いわずと知れたICMPの代表なんだけど、
ちょっと仕事で(と言っても自分用のツールだが)必要になったから、
実装方法を調べてみた。
ネットワークプログラミングは避けて通ってきてるから、
実はあんまりよくわかっていない。
そうは言ってもLinuxとかにあるということは、GNUあたりが作ってるはずと思い、
実装のソースを探して眺めてみた。
それでわかったこと:
・IPパケットのデータ部分にICMPヘッダを詰め込み送信
・ICMPはポートなんて概念がない(勘違いしてた)
・細かくオプション設定をしなければ、実装は意外と簡単(ソースは複雑だったが・・・)
・最近人のソースを読むなんてしなかったから、理解に時間がかかった【重要】
UNIXネットワークプログラミングって本にはpingの実装が解説付で載ってるらしいが、
8,800円は高いなぁ・・・
多分今後は使うことはないだろうが、持ってると便利だろうか・・・
No comments:
Post a Comment