- linux-notes.org
- Топ-10 Основных сетевых команд в Linux
- Сетевые команды в примерах в Linux
- Примеры использования сетевых команд в Linux
- hostname — Имя хоста
- ping — пинг
- Ifconfig
- traceroute
- netstat
- nslookup
- finger
- telnet
- One thought on “ Топ-10 Основных сетевых команд в Linux ”
- Добавить комментарий Отменить ответ
- Как найти доступные сетевые интерфейсы в Linux
- Найти доступные сетевые интерфейсы в Linux
- Способ 1. Использование команды ifconfig:
- Способ 2. Использование команды «ip»:
- Способ 3:
- Способ 4:
- Способ 5: использование команды «netstat»
- Способ 6: использование команды «nmcli»
- Настройка сети в Linux, диагностика и мониторинг
- Содержание
- Настройка TCP/IP в Linux для работы в сети Ethernet
- Параметры сети
- Файлы настроек сети в Linux (конфигурационные файлы)
- Настройка сети
- Диагностика сети Linux
- traceroute
linux-notes.org
Топ-10 Основных сетевых команд в Linux
Сеть является неотъемлемой частью Linux и предлагает множество инструментов и команд для диагностики любой сетевой проблемы.
Сетевые команды в примерах в Linux
• Найти хост / доменное имя и IP-адрес — hostname
• Сделать тест сетевого соединения — ping-
• Получение конфигурации сети — Ifconfig
• Сетевые соединения, таблицы маршрутизации, статистики интерфейсов — NETSTAT
• Поиск имени DNS запрос — Nslookup
• Подключение к другим хостам — Telnet
• Получить сетевой хост — информация для пользователя трассировку
• Сделать трассировку — traceroute
• Просмотр информации пользователя – finger
• Проверка статуса хоста назначения — Telnet
Примеры использования сетевых команд в Linux
Давайте посмотрим некоторые примеры различных сетевых команд в Linux. Некоторые из них довольно элементарные например пинг и телнет, а некоторые являются более мощными, например Nslookup и NetStat. Когда вы использовали эти команды в комбинации вы можете получить все, что вы ищете , например, имя хоста , конечные соединения точек , состояние соединения и т.д.
hostname — Имя хоста
Имя хоста (hostname) без вариантов отображает хозяина машины. По этому чтобы проверить кто владелец выполните команду:
Эта команда отображает доменное имя машины. Чтобы увидеть IP -адрес для текущей машины выполните эту же команду с ключом «i»:
ping — пинг
Он посылает пакеты информации в определенный пользователем источник. Если будут получены пакеты , устройство назначает и посылает пакеты обратно . Ping можно использовать для двух целей
1 . Чтобы гарантировать, что сетевое соединение может быть установлено.
2 . Timing соединения. Если у вас пинг www.linux-notes.org он покажет IP -адрес сайта и время. Используйте Ctrl + C , чтобы остановить тест. Выполнить команду можно так:
Можно задать время перед отправкой пакета, например подождать 3 секунды перед отправкой следующего пакета.
Чтобы проверить локальный интерфейс существует несколько способов:
Можно так же посылать N количество пакетов и после чего завершить работу, для этого:
Так же можно узнать версию самого пинга, для этого выполните команду:
Вы запустили утилиту пинг, а ответа от вашего хоста вовсе нет, вы начинаете выяснять в чем же дело, и как решите эту проблему то удаленный хост выдаст звуковое предупреждение.
С опцией «-q» Вы сможете пропустить ответы от вашего удаленного хоста и показать полученную статистику:
Можно изменить размер передаваемого пакета (допустим с 56 на 120), а сделать это можно так:
Мы так же можем изменять длительность выполнение команды пинг, например нам нужно пинговать сервис 15 секунд, то для этого выполните:
Не прервав команду пинг, вы сможете увидеть статистику выполнения, нужно нажать CTRL + |
Ifconfig
Посмотреть конфигурацию сети , он отображает текущую конфигурацию сетевого адаптера . Это удобно, чтобы определить, если вы transmit (ТХ ) или receive (RX) ошибки.
traceroute
Удобная программа для просмотра количества количество прыжков и время отклика , чтобы добраться до удаленной системы или веб-сайта. Но вам нужно подключение к интернету , чтобы использовать этот инструмент. Но ее возможно будет Вам установить, чтобы воспользоватся.
Можно вывести информацию о всех сетевых картах что подключены, для этого выполните:
netstat
Самая полезная и очень универсальная для нахождения подключений к и от хозяина. Вы можете узнать все о многоадресной группы (multicast groups) сети выполнив:
Чтобы увидеть кто «сидит» на порту (допустим на 21) выполните команду:
Чтобы увидеть все соединения в том числе TCP и UDP выполните команду:
Параметр что выполнена программа будет отображать только соединение TCP:
Параметр что выполнена программа будет отображать только соединение UDP:
nslookup
Если вы знаете IP-адрес он будет отображать как имя хоста. Чтобы найти все IP-адреса для данного доменного имени, команда Nslookup используется. Вы должны быть подключение к Интернету для этой утилиты. Пример использования:
Вы также можете использовать Nslookup преобразовать имя хоста в IP-адрес и с IP-адреса из имени хоста.
finger
Посмотреть информацию о пользователях, отображает имя пользователя логин, настоящее имя, имя терминала и статус записи. это довольно старая команда для Linux и редко используемые в настоящее время.
telnet
Подключается хозяина назначения по протоколу Telnet, если телнет соединение установить на любом порту означает соединения между двумя хостами работает нормально.
Обычно он используется для того чтобы узнать жив ли хост или сетевое соединение в порядке.
Тема «Топ-10 Основных сетевых команд в Linux» завершена, но если я не упомянул о более хороших команд на Ваш взгляд, то пишите в комментарии и я дополню эту статью. Если есть вопросы и предложения, пишите все в комментарии. Спасибо.
One thought on “ Топ-10 Основных сетевых команд в Linux ”
Ну что прикольная статься. Норм короче. Автор красавчик.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
Как найти доступные сетевые интерфейсы в Linux
Одна из общих задач, которую мы выполняем после установки системы Linux, – настройка сети.
Конечно, вы можете настроить сетевые интерфейсы во время установки.
Но некоторые из вас могут предпочесть сделать это после установки или изменить существующие настройки.
Как вы уже знаете, вы должны сначала узнать, сколько интерфейсов доступно в системе, чтобы настроить параметры сети из командной строки.
В этом кратком руководстве рассматриваются все возможные способы поиска доступных сетевых интерфейсов в операционных системах Linux и Unix.
Найти доступные сетевые интерфейсы в Linux
Мы можем найти доступные сетевые карты несколькими способами.
Способ 1. Использование команды ifconfig:
Наиболее часто используемый метод поиска сведений о сетевом интерфейсе – это использование команды ifconfig.
Я полагаю, что некоторые пользователи Linux все еще могут использовать это.
Как вы видите в приведенном выше выводе, у меня есть два сетевых интерфейса, а именно enp5s0 (на плате проводного адаптера Ethernet) и wlp9s0 (адаптер беспроводной сети) на моем компьютере с Linux.
Здесь lo – это петлевой интерфейс, который используется для локального доступа ко всем сетевым сервисам.
Он имеет IP-адрес 127.0.0.1.
Мы также можем использовать одну и ту же команду ifconfig во многих вариантах UNIX, например, FreeBSD, для просмотра списка доступных сетевых карт.
Способ 2. Использование команды «ip»:
Команда ifconfig устарела в последних версиях Linux.
Таким образом, вы можете использовать команду «ip» для отображения сетевых интерфейсов, как показано ниже.
Вы также можете использовать следующие команды.
Вы заметили, что эти команды также показывают состояние подключения сетевых интерфейсов?
Если вы внимательно посмотрите на вышеприведенный вывод, вы заметите, что моя карта Ethernet не подключена с помощью сетевого кабеля (см. Слово «DOWN» в вышеприведенном выводе).
И беспроводная сетевая карта подключена (см. Слово «UP»).
Для получения более подробной информации обратитесь к нашему предыдущему руководству, чтобы найти состояние подключения сетевых интерфейсов в Linux:
Этих двух команд (ifconfig и ip) достаточно, чтобы найти доступные сетевые карты в ваших системах Linux.
Тем не менее, есть немного других доступных методов для перечисления сетевых интерфейсов в Linux.
Способ 3:
Ядро Linux сохраняет данные о сетевом интерфейсе в каталоге /sys/class/net.
Вы можете проверить список доступных интерфейсов, заглянув в этот каталог.
Способ 4:
В операционных системах Linux файл /proc/net/dev содержит статистику о сетевых интерфейсах.
Чтобы просмотреть доступные сетевые карты, просто просмотрите его содержимое с помощью команды:
Способ 5: использование команды «netstat»
Команда netstat отображает различные сведения, такие как сетевые подключения, таблицы маршрутизации, статистику интерфейса, маскарадные подключения и мультикаст.
Пожалуйста, помните, что netstat устарел.
Замена для «netstat -i» – «ip -s link».
Также обратите внимание, что этот метод будет перечислять только активные интерфейсы, а не все доступные интерфейсы.
Способ 6: использование команды «nmcli»
Nmcli – это nmcli – инструмент командной строки для управления NetworkManager и создания отчетов о состоянии сети.
Он используется для создания, отображения, редактирования, удаления, активации и деактивации сетевых подключений и отображения состояния сети.
Если у вас установлена система Linux с установленным Network Manager, вы можете получить список доступных сетевых интерфейсов с помощью инструмента nmcli, используя следующие команды:
Теперь вы знаете, как найти доступные сетевые интерфейсы в Linux.
Далее, проверьте следующие руководства, чтобы узнать, как настроить IP-адрес в Linux.
Источник
Настройка сети в Linux, диагностика и мониторинг
Содержание
Доброго времени, уважаемые читатели. Публикую вторую часть статьи о сетевой подсистеме Linux. В текущей части основной упор сделан на реализацию сети в Linux (как настроить сеть в Linux, как продиагностировать сеть в Linux и поддерживать в рабочем состоянии сетевую подсистему в Linux).
Настройка TCP/IP в Linux для работы в сети Ethernet
Для работы с сетевыми протоколами TCP/IP в Linux достаточно наличие только петлевого интерфейса, но если необходимо объединить хосты между собой, естественно, необходимо наличие сетевого интерфейса, каналов передачи данных (например витая пара), возможно, какого-либо сетевого оборудования. Так же, необходимо наличие установленных утилит для настройки сети (/sbin/ifconfig, /sbin/route и др.), обычно поставляемые в пакете net-tools. Так же необходимо наличие конфигурационных файлов для сети (например /etc/hosts) и поддержку сети ядром Linux.
Параметры сети
Начнем понимание сетевых механизмов Linux с ручного конфигурирования сети, то есть со случая, когда IP адрес сетевого интерфейса статичен. Итак, при настройке сети, необходимо учесть и настроить следующие параметры:
IP-адрес — как уже говорилось в первой части статьи — это уникальный адрес машины, в формате четырех десятичных чисел, разделенных точками. Обычно, при работе в локальной сети, выбирается из частных диапазонов, например: 192.168.0.1
Маска подсети — так же, 4 десятичных числа, определяющие, какая часть адреса относиться к адресу сети/подсети, а какая к адресу хоста. Маска подсети является числом, которое складывается (в двоичной форме) при помощи логического И, с IP-адресом и в результате чего выясняется, к какой подсети принадлежит адрес. Например адрес 192.168.0.2 с маской 255.255.255.0 принадлежит подсети 192.168.0.
Адрес подсети — определяется маской подсети. При этом, для петлевых интерфейсов не существует подсетей.
Широковещательный адрес — адрес, используемый для отправки широковещательных пакетов, которые получат все хосты подсети. Обычно, он равен адресу подсети со значением хоста 255, то есть для подсети 192.168.0 широковещательным будет 192.168.0.255, аналогично, для подсети 192.168 широковещательным будет 192.168.255.255. Для петлевых интерфейсов не существует широковещательного адреса.
IP адрес шлюза — это адрес машины, являющейся шлюзом по-умолчанию для связи с внешним миром. Шлюзов может быть несколько, если компьютер подключен к нескольким сетям одновременно. Адрес шлюза не используется в изолированных сетях (не подключенных к глобальной сети), потому что данным сетям некуда отправлять пакеты вне сети, то же самое относиться и к петлевым интерфейсам.
Файлы настроек сети в Linux (конфигурационные файлы)
Для понимания работы сети в Linux, я бы обязательно посоветовал ознакомиться со статьей «Этапы загрузки Linux». В целом, вся работа Linux основана на процессе init, который рождается при загрузке ОС и плодит своих потомков, которые в свою очередь и выполняют всю необходимую работу, будь то запуск bash или демона. Да, и вся загрузка Linux основана на скриптах bash, в которых прописана вся последовательность запуска мелких утилит с различными параметрами, которые последовательно запускаются/останавливаются при запуске/остановке системы. Аналогично запускается и сетевая подсистема Linux. Каждый дистрибутив Linux имеет слегка отличающийся от других механизм инициализации сети, но общая картина, думаю, после прочтения будет ясна. Если просмотреть стартовые скрипты сетевой подсистемы какого-либо дистрибутива Linux, то, как настроить конфигурацию сети с помощью конфигурационных файлов, станет более-менее понятно, например у Debian/Ubuntu (за основу возьмем эту ветвь дистрибутивов) за инициализацию сети отвечает скрипт /etc/init.d/networking , просмотрев содержимое которого:
можно найти несколько функций, проверяющих наличие подключенных сетевых файловых систем (check_network_file_systems(), check_network_swap()), а так же проверку существования какого-то пока непонятного конфига /etc/network/options (функция process_options()), а в самом низу, конструкцией case «$1» in проверяется первый параметр переданный скрипту и в соответствии с введенным параметром (start/stop/force-reload|restart или любое дугое) производит определенные действия. Из этих самых «определенных действий», на примере аргумента start видно, что сначала запускается функция process_options, далее отправляется в лог фраза Configuring network interfaces, и запускается команда ifup -a. Если посмотреть man ifup, то видно что данная команда читает конфиг из файла /etc/network/interfaces и согласно ключу -a запускает все интерфейсы имеющие параметр auto.
Соответственно, прочитав man interfaces (rus) или man interfaces (eng), становиться ясно, как же в Debian/Ubuntu настроить какой-либо сетевой интерфейс с помощью конфига /etc/network/interfaces. Ниже, пример данного конфигурационного файла для 3х интерфейсов: петлевой (lo), со статичным IP (eth2) и IP получаемым по dhcp (eth0):
В данном конфиге строки allow-hotplug и auto — это синонимы и интерфейсы будут подняты по команде ifup -a. Вот, собственно, и вся цепь работы сетевой подсистемы. Аналогично, в других дистрибутивах: в RedHat и SUSE сеть запускается скриптом /etc/init.d/network. Рассматрев его, аналогично можно найти, где лежит конфигурация сети.
/etc/hosts
Данный файл хранит перечень IP адресов и соответствующих им (адресам) имен хостов.Формат файла ничем не отличается от мастдайного:
/etc/networks
Данный файл хранит имена и адреса локальной и других сетей. Пример:
При использовании данного файла, сетями можно управлять по имени. Например добавить маршрут не route add 192.168.1.12, а route add home-network.
/etc/nsswitch.conf
Файл определяет порядок поиска имени хоста/сети, за данную настройку отвечают строки:
Параметр files указывает использовать указанные файлы (/etc/hosts и /etc/networks соответственно), параметр dns указывает использовать службу dns.
/etc/resolv.conf
Этот файл определяет параметры механизма преобразования сетевых имен в IP адреса. Пример:
В современных дистрибутивах Linux используется динамическая генерация данного файла, с помощью утилиты resolvconf. Она является посредником между службами, динамически предоставляющими сервера имен (например DHCP client) и службами, использующими данные сервера имен. Статические адреса DNS серверов, в случае использования resolvconf, задаются внутри /etc/network/interfaces (подробнее об этом — в разделе настройки).
Настройка сети
Настройка сети подробно разобрана в отдельной статье.
Диагностика сети Linux
Существует большое количество инструментов диагностики сети в Linux, зачастую, они очень похожи на утилиты от Microsoft. Я рассмотрю 3 основные утилиты диагностики сети, без которых выявить неполадки будет проблематично.
Думаю, что данная утилита знакома чуть ли не каждому. Работа этой утилиты заключается в отправке т.н. пакетов ICMP удаленному серверу, который будет указан в параметрах команды, сервер возвращает отправленные команды, а ping подсчитывает время требуемое отправленному пакету, чтобы дойти до сервера и вернуться. Например:
Так же, утилита ping интересна тем, что может позволить увидеть, где именно возникли неполадки. Допустим, утилита ping выводит сообщение network not reachable (сеть недоступна), либо другое аналогичное сообщение. Это, скорее всего, говорит о некорректной настройке вашей системы. В таком случае, можно послать пакеты по IP-адресу провайдера, чтобы понять, в каком месте возникает проблема (между локальным ПК или «дальше»). Если Вы подключены к интернету через маршрутизатор, то можно послать пакеты по его IP. Соответственно, если проблема проявиться уже на этом этапе, это говорит, о неправильном конфигурировании локальной системы, либо о повреждении кабеля, если маршрутизатор отзывается, а сервер провайдера нет, то проблема — в канале связи провайдера и т.д. Наконец, если неудачей завершилось преобразовании имени в IP, то можно проверить связь по IP, если ответы будут приходить корректно, то можно догадаться, что проблема в DNS .
Следует отметить, что данная утилита не всегда надежный инструмент для диагностики. Удаленный сервер может блокировать ответы на ICMP запросы.
traceroute
Простым языком, команда называется трассировка маршрута. Как можно понять из названия — данная утилита покажет по какому маршруту шли пакеты до хоста. Утилита traceroute несколько похожа на ping, но отображает больше интересной информации. Пример:
Источник