Как узнать, какие установленные устройства имеют подключение к Интернету в WINPCAP? - PullRequest
3 голосов
/ 08 февраля 2010

Я знал, что библиотека winpcap позволяет человеку получать расширенную информацию об установленных устройствах ...

учитывая все сетевые устройства, найденные в компьютере, как я узнаю, какое из них имеет подключение к интернету?

спасибо:)

Ответы [ 2 ]

1 голос
/ 03 февраля 2011

GetAdaptersInfo () предоставит вам список всех сетевых адаптеров, установленных в форме, которую вы затем сможете использовать в GetIfEntry (). Эта последняя функция сообщит вам рабочее состояние адаптера, так что вы сможете по крайней мере определить, подключен ли адаптер к работающему концентратору / коммутатору / маршрутизатору.

Если вас особенно интересует возможность подключения по IP, вы можете посмотреть, настроен ли для этого интерфейса шлюз по умолчанию. Не забудьте, что вам, возможно, придется поддерживать IPv6 и IP4, если вы попробуете это.

Соотнесение сетевых адаптеров, найденных GetAdaptersInfo (), с адаптерами, найденными pcap_findalldevs (), оставлено для чтения читателю. Я не помню деталей, но это было довольно очевидно.

1 голос
/ 08 февраля 2010

Как правило, вам это безразлично. Обычно вы просто просите сетевой стек установить соединение и не беспокоиться о деталях.

Однако каждое «устройство» будет иметь свой собственный IP-адрес. Вы можете запросить сетевой стек для использования этого IP-адреса при установлении соединения.

Теперь, чтобы выяснить, какие устройства имеют подключение к интернету, выполните итерацию по всем из них, получите их IP-адрес и попытайтесь создать соединение с этого исходного IP-адреса к IP-адресу назначения в Интернете. Обычно вы уже знаете такой IP-адрес назначения, например, веб-сервер вашей компании.

...