Битлента
Сетевые команды и утилиты4 мин чтения·

ifconfig в macOS и Linux: как читать вывод и находить адрес интерфейса

Как читать вывод ifconfig в macOS и Linux: флаги, inet и inet6, маска в шестнадцатеричном виде, статус active, поиск адреса Wi-Fi, отличия от ip addr.

Кратко

Команда ifconfig показывает интерфейсы, их адреса и состояние. В macOS Wi-Fi обычно называется en0, строка inet содержит адрес IPv4, а маска записана шестнадцатеричным числом 0xffffff00. В Linux ifconfig считается устаревшим и часто заменён командой ip.

Где ifconfig актуален, а где нет

Команда ifconfig родом из семейства BSD, и в macOS она остаётся основным средством просмотра сетевых интерфейсов. В Linux её роль играла программа из пакета net-tools, но со временем её вытеснила утилита ip. Во многих свежих дистрибутивах ifconfig не установлена по умолчанию, и запуск даёт сообщение о том, что команда не найдена. Пакет net-tools можно поставить отдельно, но для новых задач лучше сразу осваивать ip addr.

Просмотр не требует прав администратора, изменение настроек требует sudo. Запуск без параметров показывает активные интерфейсы, ключ -a добавляет неактивные. Можно указать имя интерфейса: ifconfig en0.

Вывод в двух системах похож, но отличается деталями: формат маски, набор флагов и состав дополнительных строк. Ниже разберём macOS, поскольку именно там ifconfig чаще всего нужен, и отметим отличия Linux.

В macOS есть и графический путь к тем же данным: в настройках сети выберите активное подключение и посмотрите адрес и маску. Консольная команда быстрее, когда нужно скопировать значение или работать по удалённому доступу, и точнее показывает состояние интерфейса.

Разбор вывода в macOS

Пример (пример, адреса из блока документации):

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 00:00:5e:00:53:01 inet6 fe80::1c2a:5eff:fe00:5301%en0 prefixlen 64 scopeid 0x6 inet 192.0.2.20 netmask 0xffffff00 broadcast 192.0.2.255 nd6 options=201<PERFORMNUD,DAD> media: autoselect status: active

Что читать:

СтрокаЗначение
flags=...<UP,...RUNNING...>UP интерфейс включён, RUNNING он работает
mtu 1500Максимальный размер пакета
etherMAC-адрес интерфейса
inetАдрес IPv4, netmask задан шестнадцатеричным числом
inet6Адрес IPv6, fe80:: означает адрес канала
status: activeЕсть активное соединение

Маска 0xffffff00 равна 255.255.255.0, то есть префикс /24. Каждая пара шестнадцатеричных цифр это один октет: ff означает 255, 00 означает 0. Если строка status показывает inactive, соединения нет.

Строка nd6 options относится к обнаружению соседей в IPv6 и для повседневной диагностики не важна. А вот строка media показывает режим соединения: для Ethernet там может быть скорость и дуплекс, что помогает заметить, что кабель работает на 100 Мбит/с вместо гигабита.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Как найти нужный интерфейс и адрес

В macOS интерфейсов много, и большинство служебные. Вот основные типы.

  • lo0: петля, адрес 127.0.0.1.
  • en0, en1 и далее: физические адаптеры. Обычно en0 это Wi-Fi на ноутбуках, но нумерация зависит от модели, поэтому проверяйте.
  • bridge0, awdl0, llw0: служебные интерфейсы, для повседневной диагностики не нужны.
  • utun0 и следующие: программные интерфейсы, которые создают системные службы и некоторые приложения.

Чтобы узнать, какому интерфейсу соответствует Wi-Fi, выполните networksetup -listallhardwareports: в выводе для каждого порта указано имя устройства. Быстро получить адрес интерфейса можно командой ipconfig getifaddr en0 (это отдельная команда macOS, не путайте с Windows-утилитой). Для выбора только строк с адресом используйте фильтр: ifconfig en0 | grep inet.

Если по Wi-Fi получен адрес 169.254.x.x, роутер не выдал адрес: перезагрузите роутер, переподключитесь к сети и проверьте настройки DHCP.

Если активных интерфейсов несколько (Wi-Fi и кабель через адаптер), сравните их по адресам и статусу. Сервисы в macOS выстроены в порядок в настройках сети, и порядок определяет, какой интерфейс используется предпочтительно. Проверить фактический выбор поможет команда route get с адресом назначения.

Отличия Linux и сравнение с ip addr

В Linux вывод ifconfig обычно выглядит так: имя интерфейса, флаги, затем строка inet с маской в десятичном виде (netmask 255.255.255.0) и блоки счётчиков RX и TX с числом пакетов, ошибок и потерянных пакетов. Именно счётчики удобны для быстрой оценки: растущее число errors и dropped указывает на проблемы приёма.

Возможностьifconfigip
Просмотр адресовifconfigip addr
Краткий списокifconfig -s (Linux)ip -br addr
Маска255.255.255.0 или 0xffffff00префикс /24
Наличие в Linuxчасто требует установкиесть всегда
Наличие в macOSестьнет, команды ip нет

Ifconfig в Linux не показывает всех адресов, если у интерфейса их несколько, и хуже работает с современными функциями. Поэтому основным инструментом лучше считать ip, а ifconfig оставить для привычного просмотра на macOS. Подробный разбор команды ip есть на отдельной странице.

Кстати, в Linux вывод ifconfig без параметров скрывает выключенные интерфейсы, а ключ -a показывает все. Это одна из причин, почему интерфейс, который вы ищете, мог «пропасть» из списка: он просто отключён.

Изменение настроек и меры осторожности

Через ifconfig можно менять адрес и включать или отключать интерфейс, но делать это стоит осторожно. Пример (пример, адреса из блока документации): sudo ifconfig en0 down выключит интерфейс, sudo ifconfig en0 up включит его снова. Задание адреса вручную в macOS лучше делать через системные настройки сети, потому что правка через ifconfig не сохраняется и может конфликтовать с сетевыми службами.

Смена MAC-адреса тоже возможна, но постоянных изменений она не даёт и нужна для ограниченных задач; учтите, что современные системы для Wi-Fi могут использовать частные адреса по умолчанию. Смотрите в настройках сети, включена ли такая функция.

Если вы работаете по удалённому доступу, не отключайте интерфейс, по которому идёт соединение. Не пробуйте менять настройки на чужих машинах без разрешения. И помните, что вывод ifconfig содержит MAC-адрес и внутренние адреса: не публикуйте его целиком в открытых обсуждениях.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
ifconfigmacoslinuxинтерфейсы

Часто задаваемые вопросы

Читайте также