Назад | Перейти на главную страницу

Извлечь ip, маску и шлюз сетевого интерфейса отдельно

Я знаю что команда ifconfig предоставит вам IP, маску и шлюз данного сетевого интерфейса. Я хочу «программно» извлечь каждый из этих параметров отдельно. На данный момент лучшее решение, которое я могу придумать, - это выполнить синтаксический анализ с помощью grep.

Здесь ifconfig флаги для выделения ip, маски или шлюза? Существуют ли другие команды * nix, которые будут извлекать только один параметр данного сетевого интерфейса?

Тезисы не очень продуманы, но, похоже, по крайней мере работают:

для bond0:

Получите IP

ifconfig | awk '/ bond0 / {getline; print} '| awk '{print $ 2}' | awk 'BEGIN {FS = ":"}; {печать $ 2} '

Получите широковещательный адрес:

ifconfig | awk '/ bond0 / {getline; print} '| awk '{print $ 3}' | awk 'BEGIN {FS = ":"}; {печать $ 2} '

Получите маску сети:

ifconfig | awk '/ bond0 / {getline; print} '| awk '{print $ 4}' | awk 'BEGIN {FS = ":"}; {печать $ 2} '

и для шлюза:

маршрут | awk '/ по умолчанию / {печать $ 2}'

уверен, что кто-то доберется туда с чем-то более простым или понятным.

Надеюсь это поможет.