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

Исходное сообщение
"Поиск сети и интерфейса к которому принадлежит ip адрес"

Отправлено mort1k , 16-Мрт-10 12:30 
Есть простенький скриптик который отображает названия интерфейсов, их ip адреса и бродкаст адреса. Как в последнем awk перебрать адреса от ip до бродкаста что б узнать к какому интерфейсу принадлежит ip? Правильный ли это путь решения такой задачи?


#!/bin/sh
for x in `ip addr show | grep -v '127.0.0' | awk '/inet / {print $7}'`; do
    echo -n "${x}"
    echo -n "    "
    ip addr show "$x" | grep -v '127.0.0' | awk '/inet / {print $2"<-->"$4}'
done


Содержание

Сообщения в этом обсуждении
"Поиск сети и интерфейса к которому принадлежит ip адрес"
Отправлено Andrey Mitrofanov , 16-Мрт-10 13:49 
ip route get $ip

...

>перебрать адреса от ip до бродкаста что б узнать к какому интерфейсу принадлежит ip?

Чего-о-о-о??! 8-O


"Поиск сети и интерфейса к которому принадлежит ip адрес"
Отправлено mort1k , 16-Мрт-10 14:24 
>ip route get $ip
>
>...
>
>>перебрать адреса от ip до бродкаста что б узнать к какому интерфейсу принадлежит ip?
>
>Чего-о-о-о??! 8-O

Задача то до боли простая, на входе есть ip адрес пользователя, а на выходе имя интерфейса и адрес сети в который эта ip входит.  Я отгрепал имена интерфейсов и бродкастовый адрес и апишку интерфейса с маской, т.к адрес интерфейса netaddress+1, то поиск думал сделать перебором адресов от адрес интерфейса до бродкаста и сравнением с ip пользователя. Впал с ступор после awk. (((


"Поиск сети и интерфейса к которому принадлежит ip адрес"
Отправлено Andrey Mitrofanov , 16-Мрт-10 14:31 
>>ip route get $ip

"Поиск сети и интерфейса к которому принадлежит ip адрес"
Отправлено mort1k , 16-Мрт-10 15:08 
>>>ip route get $ip

Андрей Вы царь!  :-D