wiener
написал 23 мая 2005 года в 19:47 (769 просмотров)
Ведет себя
как мужчина; открыл 30 тем в форуме, оставил 76 комментариев на сайте.
Доброго времени суток.
Есть несколько вопросов:
1) Как правильнее узнать присутствующие сетевые интерфейсы (eth0, eth1, и пр.);
2) Как узнать размер MTU для конкретного интерфейса…
Заранее благодарен.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
1. это (даже имена интерфейсов) — очень зависит от клона UNIX:
# uname -a
- в студию… ;)
Я бы вам мог рассказать, как это делается в QNX, но вряд ли вас это заинтересует ;).
2. ifconfig
Самый больщой авторитет в этой области Стивенс советует создать сокет и применить к нему ioctl SIOCGIFCONF.
1. Система Linux x86
2. Из программы ?! Может не надо ?!
в гугль, искать архив программы ifstatus (тупо: гугль://«ifstatus.tar.gz».)
из описания ifstatus:
функциональность несколько бОльшая, чем надо, но.. ;)
отрывать куда проще, чем прикручивать.
В вопросе не было ничего сказано про программу ;).
Но если и изпрограммы? Есть такой «добрый снобизм», состоящий в том, что:
- если хочется придать программе максимальную элегантность — пользуем fork()…
- если хотим, чтоб все кругом говорили «ну и крут же этот парень» — используем exec(), а ещё лучше spawn()…
- если нужно, чтоб просто добротно работало — может и system() сгодится… ;).
Вам ведь в программе, скорее всего, эта информация нужна разово в инициализирующей части… тогда самый примитивный разовый вызов popen( «ifconfig -a», «w» ) вам сразу выкинет информацию и обо всех имеющихся интерфейсах, и об MTU…
«Вам «шашечки», или ехать?"(с) ;)
Не надо лишний раз применять создание нового процесса и вызов программы без надобности, если можно обойтись более правильными с точки зрения безопасности методами. Достаточно почитать Стивенса.