URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6713
[ Назад ]

Исходное сообщение
"Получение IP сетевого интерфейса"

Отправлено MaVeRiCk , 29-Авг-07 12:40 
Подскажите, пожалуйста, как на C под Linux можно грамотно получить IP устройства по имени интерфейса, т.е. например получить eth0 -> X.Y.Z.K
Грамотно, т.е. без всяких там grep`ов вывода проги ifconfig.
Чувствуется, что это может быть в /proc ... Заранее спасибо.

Содержание

Сообщения в этом обсуждении
"Получение IP сетевого интерфейса"
Отправлено vic , 29-Авг-07 13:48 
>Подскажите, пожалуйста, как на C под Linux можно грамотно получить IP устройства по имени интерфейса, т.е. например получить eth0 -> X.Y.Z.K
>Грамотно, т.е. без всяких там grep`ов вывода проги ifconfig.
>Чувствуется, что это может быть в /proc ... Заранее спасибо.

Грамотно, это как раз и есть ifconfig|grep, так как любой другой способ зависит от операционной системы, никсы они разные... во всех по разному.

Но если очень хочется, то поиск рулит:
http://www.opennet.me/openforum/vsluhforumID9/5500.html


"Получение IP сетевого интерфейса"
Отправлено vic , 29-Авг-07 17:21 
ЗЫ

Ситуации
1. IPv4 нет на фейсе, но есть IPv6
2. на фейсе есть несколько IP-адресов
и т.п.
Готовы разруливать?

Вывод если не утилиту по работе с фейсами делаете, то делайте как все - задавайте IP в конфиге программы, пример тому малоизвестная софтинко apache :)



"Получение IP сетевого интерфейса"
Отправлено int _0dh , 29-Авг-07 17:06 
>Подскажите, пожалуйста, как на C под Linux можно грамотно получить IP устройства по имени интерфейса, т.е. например получить eth0 -> X.Y.Z.K
>Грамотно, т.е. без всяких там grep`ов вывода проги ifconfig.
>Чувствуется, что это может быть в /proc ... Заранее спасибо.

грамотно - это прочитать man на предмет ioctl  SIOCGIFADDR и не задавать глупых вопросов ._.