私はwinpcapを使用してスイッチによって送信される特定のネットワークトラフィックをキャプチャするプログラムを作成しています。ネットワークアダプタがWinPCapと有線または無線で接続されているかどうかを確認するにはどうすればよいですか?
しかし、ワイヤレスデバイスはこれらのパケットを受信することはありません。そのため、ネットワークアダプタがワイヤレスまたはワイヤレスであるかどうかを判断する方法を理解しようとしています(ワイヤレスアダプタでのキャプチャを省略することができます)。
私が最初に考えたのは、選択されたインターフェイスのメディアをチェックすることです(現在、そのアダプタのIPアドレスに基づいて選択されています。つまり、IPアドレスがある場合は接続されています)。問題は、pcap_datalink()は、有線か無線かにかかわらず、DLT_EN10MBを返します。
次の思考は、(それがあるか、有線ではない場合、したがってと)デバイスはが監視モードに設定することができないなら、私に教えてくださいpcap_can_set_rfmon()を、試してみました。しかし、これを使用しようとすると2019のリンクエラーが発生するようですが、Airpcapを使用しないとWindows上でサポートされていない機能と思われます。
他に何を試してもわかりませんが、誰かがポインタを持っていれば素晴らしいかもしれません。私は、システム上の各アダプタが何であるのかを判断してから、WinPCapで使用されるデバイス名と一致させるためにNDISを使用しなければならないと、どれほど難しく複雑になるのだろうと思っています。 lib/WinPCapの社内では?
ありがとうございます!