Страница 1 из 1

откуда ifconfig берёт информацию

Добавлено: 15 июл 2008, 13:47
potlaty
Очень нужно найти файл, где хранится информацию о подключеним интерфейсе, особенно ip адрес.

знаю что трафик можно найти тут:
/proc/net/dev

Дистрибутив Debian 4.0R3

Добавлено: 15 июл 2008, 13:51
Llama
potlaty, а посмотреть в исходники или хотя бы на трассу его не судьба ? :)

PS: man ioctl_list

Добавлено: 15 июл 2008, 17:44
potlaty
нашёл по этому поводу хорошую статью:
http://www.linuxdevcenter.com/lpt/a/461

Добавлено: 15 июл 2008, 21:28
potlaty
как ни крути но лучшего выхода чем
ifconfig|grep "P-t-P:"
я не нашёл

Добавлено: 16 июл 2008, 11:35
assd
potlaty писал(а):как ни крути но лучшего выхода чем
ifconfig|grep "P-t-P:"
я не нашёл
я уже где-то постил, как получить только ip-адрес от тунеля ppp0:
ifconfig | grep -A1 ppp0 | sed 1d | awk -F: '{print $2}' | awk '{print $1}'

или от всех от всех имеющихся тунелей

ifconfig | grep P-t-P | awk -F: '{print $2}' | awk '{print $1}'


и можно передавать любой программе. Например route.

Добавлено: 16 июл 2008, 11:46
leave
а я пользую

Код: Выделить всё

ifconfig |grep -A1 "ppp0"|grep inet|awk '{print $2}'|cut -d : -f 2
вроде как cut быстрее awk считается :)

Добавлено: 16 июл 2008, 12:41
assd
leave писал(а):а я пользую

Код: Выделить всё

ifconfig |grep -A1 "ppp0"|grep inet|awk '{print $2}'|cut -d : -f 2
вроде как cut быстрее awk считается :)
хм...на глаз не заметил. а вот time выдал следующее:

Код: Выделить всё

rbridge:~# time ifconfig | grep -A1 ppp0 | sed 1d | awk -F: '{print $2}' | awk '{print $1}'
10.0.0.14

real    0m0.016s
user    0m0.007s
sys     0m0.009s
rbridge:~# time ifconfig |grep -A1 "ppp0"|grep inet|awk '{print $2}'|cut -d : -f 2
10.0.0.14

real    0m0.016s
user    0m0.007s
sys     0m0.008s
разница на уровне погрешности, так что в данном случае походу до фени что юзать - awk или cut=)

Re: откуда ifconfig берёт информацию

Добавлено: 27 июл 2008, 02:19
kr0t
gentoo **** # time ifconfig ath0 | awk '$0 ~ /addr:/ {print $2}' | cut -d : -f 2
192.168.2.33

real 0m0.005s
user 0m0.000s
sys 0m0.000s

:beer: