Как вывести список сетевых устройств и адресов ipv4 в Linux без команды ifconfig/ip

Просто:

(cd symlinked-dir && pwd) >> tmp && cat tmp

Где мы запускаем cdв подоболочке, чтобы он влиял только на эту подоболочку и выполнял перенаправление вне подоболочки (и даже до того, как подоболочка была создана ).

Замените pwdна pwd -P, если вы хотите, чтобы канонический (символическая ссылка -свободный )абсолютный путь symlinked-dir. Хотя если у вас есть команда realpath, то вы можете сделать это просто с помощью realpath symlinked-dir > tmp.

1
05.11.2020, 03:12
2 ответа

Интерфейсы:/proc/net/dev

Нет файлов /procили /sysс IP-адресами, но их можно извлечь косвенно, если у вас есть службы прослушивания или открытые соединения. Проверьте:/proc/net/tcpи /proc/net/tcp6.

1
18.03.2021, 22:52

Другой вариант — busybox. Он включает реализации как ifconfig, так и ip.

Другой вариант — написать собственное подмножество ip, чтобы использовать netlink для запроса соответствующих данных. Вы также можете использовать интерфейсы ioctl (2 ), используемые ifconfig.

Другой вариант — проверить файлы журналов, записанные вашим DHCP-клиентом. На самом деле, неудивительно, если он записывает вашу аренду на диск. По крайней мере, это может быть в /var/lib/dhcp/(, у меня ). Если вам нужно что-то делать с адресом на регулярной основе, вы можете изменить сценарий, который используется для обновления системы при получении аренды.

0
18.03.2021, 22:52

Теги

Похожие вопросы