マルチスレッドのpingプログラムを書いていました。各スレッドで (IP ごとに) rawsocket を作成し、sendto() を使用してそれぞれに ICMP Echo Request を送信してから、各スレッドで recvfrom() を実行しました。さまざまなソケットで IP からメッセージを取得しています (IP1 の sendto にソケット S1 を使用した場合、IP1 から S1、S2 などへのエコー応答を取得します)。バインドを行う必要がありますか?
また、別の問題は、ICMP リクエストを 1 つしか送信していないにもかかわらず、ターゲットから多くのエコー応答が返されることです。これを制限する方法はありますか?これにより、他の ICMP パケットの一部が失われます。プログラムが ICMP エコーの送信を停止するようにターゲットに要求する方法はありますか?
ありがとう、