Если вы ищете это в контексте настольного приложения и хотите получать уведомления об изменениях (например, интерфейсы подключения / отключения), рассмотрите возможность использования DBus для мониторинга NetworkManager.
http://projects.gnome.org/NetworkManager/developers/api/09/spec.html
Вы можете перечислять интерфейсы, а также относящиеся к интерфейсу вещи (например, доступные и подключенные точки доступа Wi-Fi, настроенные, но не набранные PPP-ссылки и т. Д.), И, если что-то изменится, вы получите уведомление через DBus.
(Если это что-то более похожее на серверную программу, где вы ожидаете, что конфигурация сети останется более стабильной, то такие вещи, как getifaddrs
, возможно, более уместны.)