Кто-нибудь знает код C/C++ для поиска доступных сетевых интерфейсов?
Я искал некоторый код, но в большинстве случаев они довольно сложны. Есть ли простой способ сделать это?
Ответ 1
См. справочную страницу getifaddrs. Существует пример программы к концу.
Ответ 2
Если вы ищете это в контексте настольного приложения и хотите получать уведомления об изменениях (например, о подключении/отключении интерфейсов), рассмотрите возможность использования DBus для мониторинга NetworkManager.
Вы можете перечислять интерфейсы, а также специфичные для интерфейса вещи (например, доступные и подключенные точки доступа WiFi, настроенные, но не набранные PPP-ссылки и т.д.), и если что-то изменится, вы получите уведомление над DBus.
(Если это для чего-то более похожего на серверную программу, где вы ожидаете, что конфигурация сети будет оставаться более стабильной, возможно, более подходящими могут быть такие вещи, как getifaddrs.)