ICMPデバッグ中
ICMPエコー応答を返すコードを実装してみた。
ICMPヘッダをごにょごにょ作って、それをIPヘッダのdata部にセットして送る感じ。
checkSumのロジックまでは追わず、id:Yamamiさんのロジックをそのまま拝借。
Monaを起動して、Windows側から ping を打ってみてもICMPエコー要求が来てない(etherealでパケットをキャプチャしています)。
よく調べてみたらWindows側で
Interface: 192.168.100.1 --- 0x4 Internet Address Physical Address Type 192.168.100.2 00-00-00-00-00-00 invalid
となっている。ARPの応答が微妙に間違っていてその先のフェーズ(ICMP)に進んでいないみたいだ。
ということで今後の流れは
という感じで。