winpcap ライブラリを使用すると、インストールされているデバイスに関する高度な情報を取得できることを知っています...
コンピューターで検出されたすべてのネットワーク デバイスが与えられた場合、どのデバイスがインターネットに接続されているかをどのように知ることができますか?!
ありがとう:)
winpcap ライブラリを使用すると、インストールされているデバイスに関する高度な情報を取得できることを知っています...
コンピューターで検出されたすべてのネットワーク デバイスが与えられた場合、どのデバイスがインターネットに接続されているかをどのように知ることができますか?!
ありがとう:)
通常、これは気にしません。通常は、ネットワークスタックに接続を要求するだけで、詳細については気にしないでください。
ただし、各「デバイス」には独自のIPアドレスがあります。接続時にこのIPアドレスを使用するようにネットワークスタックに要求できます。
ここで、どのデバイスがインターネット接続を持っているかを把握するために、すべてのデバイスを反復処理し、それらのIPアドレスを取得して、その発信元IPからインターネット上の宛先IPへの接続を作成してみます。通常、あなたはすでにそのような宛先IPを知っています、例えばあなたの会社のウェブサーバー。
GetAdaptersInfo() は、GetIfEntry() で使用できるフォームにインストールされているすべてのネットワーク アダプターのリストを提供します。この後者の機能は、アダプタの動作ステータスを通知するため、少なくともアダプタが稼働中のハブ/スイッチ/ルーターに接続されているかどうかを確認できます。
IP 接続に特に関心がある場合は、そのインターフェイスにデフォルト ゲートウェイが設定されているかどうかを確認できます。これを試す場合、IP4 だけでなく IPv6 もサポートする必要があるかもしれないことを忘れないでください。
GetAdaptersInfo() によって検出されたネットワーク アダプタと pcap_findalldevs() によって検出されたネットワーク アダプタの関連付けは、読者の課題として残されています。詳細は覚えていませんが、かなり明白でした。