LINUX.ORG.RU

Получить имя сетевого интерфейса по IP-адресу

 ,


0

1

Привет.
Желательно из /sys. Если оттуда нельзя, то тогда уж из /proc.
Другими командами не хочется, потому как потом нужно для python-скрипта, поэтому хотелось бы из файловой системы.
Спасибо.

Спрошу по-другому. Как понять, откуда snmp берёт эту информацию:

snmpwalk -t5 -v2c -cpublic localhost 1.3.6.1.2.1.4.20
IP-MIB::ipAdEntIfIndex.10.1.2.3 = INTEGER: 23
IP-MIB::ipAdEntIfIndex.10.10.22.29 = INTEGER: 17

Т.е. если я получу индекс из IP-адреса в своём скрипте, мне будет этого достаточно.

★★★★★

Последнее исправление: UVV (всего исправлений: 2)

Ответ на: комментарий от anonymous

strace ifconfig

Ща попробую распарсить.

strace ip link

Не подходит, ip addr, наверное тогда.

UVV ★★★★★
() автор топика
Ответ на: комментарий от nanoolinux

Всем чаю, посоны:

cat /sys/class/net/eth1/uevent 
INTERFACE=eth1
IFINDEX=11

Чё-то я ступил, ip-то так и не нашёл )

UVV ★★★★★
() автор топика
Последнее исправление: UVV (всего исправлений: 1)

можно /proc/net/route погрепать на предмет Destination с маской FFFFFFFF. Например:

root@tween-router:/etc/openvpn# cat /proc/net/route 
Iface	Destination	Gateway 	Flags	RefCnt	Use	Metric	Mask		MTU	Window	IRTT                                                       
....
tun-urist	310A0A0A	00000000	0005	0	0	0	FFFFFFFF	0	0	0                                                                          
....
tun-glavstor	09140A0A	00000000	0005	0	0	0	FFFFFFFF	0	0	0 
310A0A0A и 09140A0A - адреса интерфейсов соответственно 10.10.10.49 и 10.10.20.9 (октеты в обратном порядке)

arkhnchul ★★
()

Курю IP-MIB агента.

UVV ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.