Skip to main content

Основные сетевые команды в Linux

Команды для работы с компьютерной сетью – это неотъемлемый инструмент для любого специалиста. Сориентироваться среди многочисленных команд и документации может быть довольно сложно, и иметь единую точку справки играет важную роль при выполнении задач, связанных с сетью.

Эта статья содержит список из 20 важных сетевых команд для Linux.

Предварительный требования

  • Доступ к командной строке.
  • Учётная запись администратора с правами sudo.

20 сетевых команд для Linux

В Linux имеется множество полезных сетевых команд и инструментов. Эти команды обычно предназначены для выполнения сложных сетевых задач, таких как мониторинг, устранение неполадок и настройка сети. Большинство утилит для работы с сетью включены в состав старого пакета net-tools или более современного iproute2.

В большинстве дистрибутивов Linux доступны как команды net-tools, так и iproute2. Однако рекомендуется использовать инструменты iproute2 из-за их гибкости и скорости.

Несмотря на то, что net-tools считаются устаревшими, они до сих пор широко используются в старых скриптах и конфигурациях.

NETWORK ADMIN

Синтаксис конкретной команды может варьироваться в зависимости от версии команды. Предварительно проверьте синтаксис команды с помощью следующей команды:

man [command]

Команда man выводит на экран руководство для указанной команды в терминале.

Ниже представлена краткая сводка из 20 сетевых команд для Linux.

ip

Команда ip представляет собой интегрированный инструмент для работы с сетями в операционных системах Linux. Она облегчает просмотр и настройку маршрутизации, интерфейсов, сетевых устройств и туннелей.

Эта команда входит в состав пакета iproute2 и заменяет множество старых инструментов для работы с сетью, таких как команды route, ifconfig и netstat.

Синтакстис:

ip [options] object [command]

Каждый компонент команды выполняет следующие функции:

  • options – это параметры командной строки, которые влияют на поведение команды.
  • object – отображает объекты, которые могут быть настроены.
  • command – представляет собой подкоманду, действие, которое выполняется с объектом. Доступные команды зависят от конкретного объекта.

Пример:

При использовании команды ip без параметров, объектов или команд, отображается меню справки.

ip

Для просмотра текущей версии, используйте опцию -V.

ip -V

Результат вывода содержит информацию о версии пакета и библиотеки, используемых утилитой ip.

ip addr

Команда ip addr позволяет управлять и просматривать IP-адреса сетевых интерфейсов. Ее альтернативными названиями являются ip address или ip a.

Синтаксис:

ip addr [subcommand]

Список доступных подкоманд для данного объекта:

  • add – Осуществляет добавление нового адреса.
  • show – Показывает адреса протокола.
  • del – Осуществляет удаление адреса.
  • flush – Удаляет адреса в зависимости от заданных критериев.

У каждой подкоманды есть дополнительные параметры и ключевые слова, которые позволяют выполнять конкретные задачи с адресами сетевого интерфейса.

Пример:

Команда ip addr без каких-либо подкоманд показывает информацию о сетевом интерфейсе, включая соответствующие IP-адреса:

ip addr

Результат для команды ip addr show будет такой же.

Для просмотра информации о конкретном сетевом интерфейсе, выполните команду ip addr show с указанием его имени.

ip addr show [interface]

Команда осуществляет фильтрацию вывода команды ip addr, отображая только информацию, связанную с указанным интерфейсом.

Синтаксис:

С помощью подкоманд можно выполнять следующие операции:

  • show – Показывает информацию о сетевом интерфейсе.
  • set – Вносит изменения или добавляет информацию к сетевому интерфейсу.
  • add – Создает новый сетевой интерфейс.
  • del – Осуществляет удаление сетевого интерфейса.

Подкоманды предоставляют дополнительные опции и позволяют выбирать определенные интерфейсы.

Пример:

Для выключения интерфейса, выполните следующую команду в роли суперпользователя:

После выполнения команды состояние интерфейса меняется на DOWN.

Чтобы активировать интерфейс, примените ключевое слово up:

Состояние интерфейса переходит в режим UP.

ip route

Команда ip route предоставляет доступ к таблице IP-маршрутизации и позволяет пользователям настраивать её и выполнять другие важные сетевые задачи, связанные с маршрутизацией.

Синтаксис:

ip route [subcommand] [options] [destination]

В качестве подкоманд доступны следующие действия:

  • show – Показывает таблицу маршрутизации.
  • add – Осуществляет добавление нового маршрута в таблицу.
  • del – Осуществляет удаление маршрута из таблицы.
  • change – Вносит изменения в существующий маршрут.

Параметр [destination] указывает, куда направляется сетевой трафик. Дополнительные опции обеспечивают дополнительное управление потоком трафика.

Пример:

ip route show

Каждая строка в выводе соответствует отдельным маршрутам в таблице.

ifconfig

Команда ifconfig (конфигурация интерфейса) управляет и предоставляет информацию о сетевых интерфейсах в системе. Эта команда является частью пакета net-tools.”

Несмотря на ограниченные функции по сравнению с командой ip, команда ifconfig всё еще активно применяется для настройки сетевых интерфейсов.

Синтаксис:

ifconfig [interface] [options]

Структура синтаксиса представляется следующим образом:

  • interface – Сетевой интерфейс, для которого требуется настройка или отображение информации. Параметр не является обязательным, и если интерфейс не указан, то будет показан статус всех активных интерфейсов.
  • options – Опции командной строки для выполнения конкретных действий или настройки определенных параметров. Также важно отметить, что параметр является необязательным.

Пример:

ifconfig -s

Эта команда предоставляет краткую сводку с важной информацией о текущих интерфейсах.

dig

Команда dig предназначена для выполнения запросов в систему доменных имен (DNS) и поиска информации о DNS-записях. Она собирает информацию о доменных именах и связанных записях.

Для устранения проблем с DNS и проверки настроек DNS в системе Linux используйте команду dig. Она отлично подходит для создания сценариев и автоматизации задач, связанных с анализом сети. Эта мощная команда настолько популярна в решении сетевых проблем, что существует версия dig для Windows.

Синтаксис:

dig [options] [domain] [record type] [DNS server]

Элементы команды включают:

  • options – Аргументы, влияющие на функционирование команды.
  • domain – Имя домена, которое требуется запросить.
  • record type – Тип DNS-записи для запроса. Значение по умолчанию – записи типа A.
  • DNS Server – Заданный DNS-сервер для выполнения запроса.

Все параметры необязательны. По умолчанию команда выводит информацию о DNS-разрешителе и статистику запросов без дополнительных опций.

Пример:

dig google.com

Вместо этого, можно предоставить IP-адрес и использовать опцию -x для выполнения обратного DNS-поиска.

dig -x 8.8.8.8

В разделе ANSWER SECTION в выводе отображается запрошенное доменное имя.

nslookup

Команда nslookup схожа с командой dig. Основное отличие между этими командами заключается в том, что nslookup предоставляет интерактивный режим. Он позволяет проводить диагностику и выполнять запросы к DNS-серверам, что полезно при решении задач сетевого анализа и DNS.

Команда поддерживается на большинстве операционных систем, включая Unix-подобные и Windows.

Синтаксис:

nslookup [domain] [DNS server]

Элементы команды включают:

  • domain – Имя домена для поиска. Если не указывать имя, то в интерактивном режиме можно выполнять запросы к нескольким доменам.
  • DNS server – DNS-сервер, используемый для поиска. По умолчанию используется DNS-сервер системы, если не указан конкретный.

По умолчанию запрос выполняет поиск доменных записей типа A.

Пример:

nslookup google.com

Результат выводит информацию о DNS-разрешении для предоставленного домена.

netstat

Команда netstat (сетевая статистика) представляет собой сетевую утилиту, отображающую различные сетевые статистические данные. Она предоставляет информацию о статусе сетевых портов и их доступности.

Команда входит в состав пакета net-tools и считается устаревшей. Рекомендуется использовать команду ss, которая входит в состав iproute2. Другие функциональности команды netstat доступны с помощью команды ip.

Синтаксис:

netstat [options]

С помощью команды можно комбинировать различные опции, чтобы настроить вывод и отобразить конкретные типы сетевой информации. Без дополнительных опций команда перечисляет открытые сокеты для всех настроенных семейств адресов.

Пример:

netstat -at

Результат отображает все активные TCP-соединения в системе.

traceroute

Команда traceroute – это инструмент сетевой диагностики, который поддерживается в Linux, macOS и Windows. С её помощью можно отслеживать маршрут, по которому пакеты идут к заданной цели в сети TCP/IP.

С помощью этой команды можно обнаруживать проблемы с маршрутизацией и узкими местами, отображая промежуточные узлы, через которые проходят пакеты при перемещении от отправителя к получателю.

По умолчанию выполнение трассировки составляет 30 прыжков с размером пакета 60 байтов для IPv4 (80 байтов для IPv6).

Синтаксис:

traceroute [options] [hostname/IP]

Для работы требуется параметр [hostname/IP], а дополнительные опции определяют, выполнять ли DNS-запросы, значение TTL и тип пакета.

Пример:

Для отслеживания маршрута пакета с использованием протокола TCP выполните команду traceroute от имени администратора с опцией -T.

sudo traceroute -T 184.95.56.34

Результат показывает последовательный маршрут от источника до места назначения.

tracepath

Командаtracepathаналогична командеtraceroute. Она выявляет маршруты и задержки от отправителя до получателя, отображая маршрутизаторы и сетевые переходы.

Несмотря на то, чтоtraceroute– известная команда с обширными опциями,tracepathпредставляет собой простой инструмент для отображения сети, доступный на большинстве систем Linux. Для более подробной информации, сравнитеtracepathиtraceroute.

Синтаксис:

tracepath [options] [hostname/IP]

Дополнительные [options] определяют поведение запроса, включая количество переходов и опцию выполнения обратного DNS-поиска для адресов. Поле [hostname/IP] обязательно и указывает место назначения.

Пример:

tracepath [hostname/IP]

В результатах видно номер шага, IP-адрес или определенное имя хоста и время задержки туда и обратно (RTT) для каждого шага.

host

Командаhost– это простой инструмент для проведения DNS-запросов. Она выполняет разрешение IP-адресов в доменные имена и наоборот.

Используйте эту команду для выполнения запросов DNS и базового поиска и устранения проблем DNS.

Синтаксис:

host [options] [hostname/IP]

Различные [options] управляют поведением команды, такими как тип запроса или стартовая запись (SOA) для указанного домена.

Пример:

host google.com

Вывод отображает разрешенные IPv4 и IPv6 адреса для предоставленного имени хоста.

hostname

Командаhostnameпредназначена для отображения и изменения имени хоста и домена системы, а также идентификации устройств в сетевой среде.

Воспользуйтесь командой для вывода, изменения или поиска имен хостов.

Синтаксис:

hostname [options] [name]

Параметр [options] определяет, что отображается в результате выполнения команды, в то время как параметр [name] временно устанавливает имя хоста в предоставленное имя.

Пример:

Для временного изменения имени системы выполните команду без параметров и укажите имя:

sudo hostname [name]

При выполнении команды не выводится результат. Для проверки текущего имени хоста выполните:

hostname

На экран выводится текущее имя хоста.

ping

Командаping– это сетевая утилита для проверки доступности хоста. Она отправляет ICMP-запросы к хосту (компьютеру или серверу) и измеряет время, затраченное на возврат ответа (RTT).

Пинг помогает оценить сетевую задержку между двумя узлами и проверить, доступна ли сеть.

Синтаксис:

ping [options] [hostname/IP]

Укажите [hostname/IP] хоста, к которому выполняется пинг. Дополните команду опциями для управления её поведением, такими как количество запросов пинга, интервалы или размер пакета.

Пример:

ping -c 5 google.com

Эта команда посылает пять ICMP-пакетов на указанный хост и выводит статистику.

ss

Командаss– это инструмент командной строки для отображения сетевой статистики. Этот инструмент включен в пакетiproute2и является более быстрой альтернативой командеnetstat.

Для изучения сетевых сокетов и просмотра различных сетевых данных используйте командуss.

Синтаксис:

ss [options] [filter]

Параметр [options] дает возможность фильтровать сокеты по протоколу, в то время как параметр [filter] помогает упорядочивать сокеты по состоянию, чтобы сузить результаты.

Пример:

Для примера, чтобы показать все прослушивающие TCP-сокеты с помощью командыss, введите опции -lt:

ss -lt

Результат показывает все TCP-сокеты в состоянии LISTEN, готовые к принятию входящих подключений.

route

Командаrouteв Linux предназначена для отображения и настройки таблицы маршрутизации. Она изменяет таблицы маршрутизации IP в ядре и помогает устанавливать статические маршруты к определенным хостам или сетям.

Примените эту команду после настройки сетевого интерфейса с помощью инструмента, например, командыifconfig.

Заметьте: более предпочтительной альтернативой командеrouteявляется командаip route.

NETWORK ADMIN

Синтаксис:

route [options] [subcommand] [arguments]

Включает следующие компоненты:

  • options – Опциональные параметры командной строки, которые управляют видом вывода, семейством адресов и IP-протоколом.
  • subcommand – Действие, которое нужно выполнить, такое как добавление или удаление.
  • arguments – Дополнительные аргументы, которые различаются в зависимости от подкоманды.

Пример:

route

Чтобы установить шлюз по умолчанию, используйте указанный формат:

sudo route add default gw [gateway]

Эта команда создает маршрут по умолчанию, который используется, если не существует других подходящих маршрутов. Указанный шлюз должен быть непосредственно доступным маршрутом.

arp

Командаarpпоказывает и настраивает кэш ARP (протокола разрешения адресов). Протокол ARP сопоставляет IP-адреса с физическими MAC-адресами в локальной сети. Кэш хранит такие соответствия для всех устройств в локальной сети.

Синтаксис:

arp [options] [hostname/IP]
  • Параметр [options] влияет на поведение команды, позволяя, например, настраивать и удалять действия или контролировать вывод.
  • Параметр [hostname/IP] является необязательным идентификатором для удаленной системы, для которой нужно разрешить MAC-адрес. Если не указан, команда проверяет локальный кэш ARP.

Пример:

Чтобы вывести кэш ARP, выполните командуarpбез дополнительных параметров:

arp

Вывод представляет собой таблицу с кэшем ARP (IP и MAC-адреса).

iwconfig

Командаiwconfigпозволяет отображать и настраивать информацию о беспроводных сетевых интерфейсах и пригодится при решении проблем в беспроводных сетях.

Используйте эту команду для просмотра или изменения имени беспроводной сети, настроек управления питанием и других настроек беспроводной связи.

Синтаксис:

iwconfig [interface] [options]

Параметр [interface] позволяет фильтровать беспроводный сетевой интерфейс по имени, а параметр [options] управляет различными настройками, такими как режим работы, ограничение скорости и ключ шифрования беспроводной сети.

Пример:

Для просмотра доступных беспроводных интерфейсов на системе и их текущей настройки выполните команду без дополнительных параметров:

iwconfig

Эта команда выводит полную информацию о беспроводных интерфейсах в системе.

curl or wget

Командыwgetиcurlпредставляют собой инструменты командной строки для загрузки файлов из Интернета. Оба инструмента схожи, но имеют некоторые различия в способе работы и доступных опциях.

  • Командаwgetпредназначена для загрузки файлов из Интернета с использованием протоколов HTTP, HTTPS или FTP. Этот инструмент легок в использовании для скачивания файлов.
  • Командаcurlуниверсальна и поддерживает различные сетевые протоколы, включая SCP, IMAP, POP3, SMTP и другие. Этот инструмент также отправляет HTTP-запросы и взаимодействует с веб-сервисами.

Для проверки скорости загрузки по сети используйтеcurlилиwget.

Синтаксис:

wget [options] [URL]
curl [options] [URL]

Параметр [options] управляет различными параметрами загрузки и вывода, а параметр [URL] представляет собой URL-адрес файла для загрузки. Командаcurlобладает более продвинутыми опциями и методами использования по сравнению с командойwget.

Пример:

Для скачивания файла с помощью командыwgetиспользуйте этот формат:

wget -O [file name] [URL]

Или же, чтобы сделать то же самое с помощью curl, выполните:

curl -o [file name] [URL]

Файл загружается с указанного URL и сохраняется с указанным именем файла.

mtr

Командаmtr(my traceroute) – это инструмент для диагностики, который объединяет функции командpingиtraceroute. Этот инструмент предоставляет актуальную информацию о качестве сети, что делает его отличным средством для устранения проблем с высокой задержкой и потерей пакетов.

Синтаксис:

mtr [options] [hostname/IP]

Параметр [options] позволяет настраивать количество и размер пакетов, а параметр [hostname/IP] указывает на место назначения.

Пример:

mtr google.com

Для выхода из окна, нажмите “q”.

whois

Командаwhoisпредназначена для запроса информации о доменных именах, IP-адресах и других сетевых данных. Используйте эту команду для получения данных о владельце домена, дате регистрации и дате истечения срока действия домена.

Синтаксис:

whois [options] [query]
  • Параметр [options] дает возможность указать конкретный сервер WHOIS для запроса, изменить протокол и добавить дополнительные параметры запроса.
  • Параметр [query] может быть доменным именем, IP-адресом или номером автономной системы (ASN) для поиска информации.

Пример:

Чтобы выполнить простой запрос для указанного доменного имени, выполните команду без дополнительных опций. Например:

whois google.com

Вывод представляет результаты основного поиска WHOIS для указанного доменного имени.

iftop

Командаiftop– это утилита мониторинга сети. С ее помощью можно отслеживать сетевые соединения и использование пропускной способности в режиме реального времени.

Синтаксис:

iftop [options]

Параметр [options] регулирует отображаемую информацию. Кроме того, для мониторинга всего трафика на сетевом интерфейсе необходимы соответствующие права доступа.

Пример:

Основное использованиеiftopне предполагает дополнительных опций:

sudo iftop

При выполнении команды открывается новый экран мониторинга, который обновляется при передаче данных через сетевой интерфейс.

С интерфейса можно управлять отображением на экране мониторинга, например, переключать вид на источник (s) или назначение (d). Для выхода из экрана, нажмите “q”.

tcpdump

Командаtcpdumpпредставляет собой инструмент для сниффинга пакетов и обеспечения сетевой безопасности, который захватывает информацию о сетевых пакетах в реальном времени. Используйте эту команду для анализа трафика, устранения проблем и мониторинга сетевой безопасности.

Синтаксис:

tcpdump [options] [filter]

Параметр [options] управляет различными параметрами отображения, контролирует количество захваченных пакетов и позволяет работать с файлами. Для установки критериев захвата пакетов используйте параметр [filter].

Пример:

Для захвата пакетов на конкретном порту используйте следующий формат:

sudo tcpdump port 80

Фильтрport 80используется для захвата пакетов на определенном порту с целью мониторинга HTTP-трафика.

ifplugstatus

Командаifplugstatus– это простая утилита для проверки статуса сетевого интерфейса. Она помогает определить, подключен ли сетевой кабель к интерфейсу Ethernet.

Для проверки физической связи в сети, особенно после внесения изменений в сетевой интерфейс, используйтеifplugstatus.

Синтаксис:

ifplugstatus [options] [interface]

Параметр [options] позволяет установить конкретный файл конфигурации или запустить команду в пакетном режиме для скриптов. Укажите параметр [interface], чтобы проверить статус указанного сетевого интерфейса.

Пример:

Для отображения статуса всех сетевых интерфейсов выполните команду без дополнительных параметров:

ifplugstatus

Если в выводе указано “link beat detected”, это свидетельствует о наличии активной физической связи у интерфейса.

Заключение

После прочтения этого руководства вы освоите основные команды для настройки сети в Linux. Обращайтесь к этой статье, когда вам понадобится определенная команда.