2011-12-23 10 views
1

私は.NET C++でプログラムを書いています。ローカルネットワーク上でブロードキャストpingを送信しています。私のターゲットデバイスはすべてpingブロードキャストに応答することができ、実際にWiresharkのすべての応答を追跡します。私の目標は、すべての応答局のIPアドレスを取得することです。Pingブロードキャストへの返信

問題は、MicrosoftのAPIには、指定された時間間隔内のすべての返信を記録するサポートが含まれていないことです.IcmpSendEchoのような機能は最初の返信で返されます(APIは複数のicmp返信を記録できると述べています)。グーグル検索とここから検索した後、誰もがこれらの機能で同じ問題を報告しています。

返信を取得するために低レベルに進まずに目標を達成するにはどうすればよいですか? ウィンドウにはICMP履歴のレコードがありますか? 私は何か提案に感謝します!

+0

?試してみる価値があります... – psidemus

+0

スタート255回のpingを含まないかもしれないと述べているしたいと思います –

+0

こんにちはマーティン、ブルートフォースよりもエレガントなソリューションのようなIDです。 – psidemus

答えて

0
1) First call FlushIpNetTable. 
2) Send the ping and ignore the response. 
3) Read the ARP table using the GetIpNetTable call. 
私はまた私のネットワークは、ルーターまたは別のDHCP源255個のスレッドで
+2

こんにちはスティーブ、すばやい返信をいただきありがとうございます。残念ながら、ブロードキャストアドレスへのpingはarp要求を開始しないため、arpテーブルは変更されません。 – psidemus

関連する問題