ICMP Echo Reply パケットの末尾に 8 バイトのタイムスタンプを追加する特定のネットワーク カード (NetFPGA) があります (チェックサムは無視されます)。この方法で raw ソケットでパケットを読み取ろうとしたとき:
recvsock = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
タイムスタンプが追加されていない IP + ICMP データのみを取得しました。私は試した:
recvsock = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_IP));
このようにしてすべてを取得し、アドレスをバインドできません。また試しました:
recvsock = socket(AF_INET, SOCK_RAW, htons(ETH_P_IP));
でも何も釣れなかった..
特定のICMPエコー応答パケットのみをキャッチするが、追加された8バイトのタイムスタンプを省略しない生のソケットを開く方法はありますか?
ありがとう
イド