Сети

Расширенные сетевые команды Linux

Расширенные сетевые команды Linux
Команды nslookup и host для запроса записей DNS
Команда dig для запроса записей DNS
Команда traceroute для диагностики сетевых проблем
Команда scp для передачи файлов между устройствами
Команда nc (netcat) для сканирования портов и передачи файлов
Команда rsync для клонирования каталогов между устройствами

Настоящее руководство является продолжением основных сетевых команд Linux, несмотря на то, что оно начинается с простых команд для поиска DNS, все команды необходимы для диагностики проблем. В этом руководстве показано и кратко объяснено несколько примеров для каждой команды.

Команды nslookup и host для запроса записей DNS

Согласно Википедии «nslookup - это инструмент командной строки сетевого администрирования, доступный во многих компьютерных операционных системах для запроса системы доменных имен (DNS) для получения доменного имени или сопоставления IP-адресов или других записей DNS.

В следующем примере команда nslookup используется для разрешения IP-адреса linuxhint.ком.

nslookup linuxhint.ком

В следующем примере показаны записи mx для linuxhint.com, применив опцию -type = mx.

nslookup -type = mx linuxhint.ком

В качестве альтернативы вы можете использовать командный хост для получения как разрешения поиска, так и записей mx:

хост linuxhint.ком

Команда dig для запроса записей DNS

В копать Команда (Domain Information Groper) нуждается в более подробном описании, чтобы понять ее вывод (проверьте раздел Понимание вывода команды dig)

копать linuxhint.ком

Где (Общие сведения о выводе команды dig):

Первая линия ; <<>> DiG 9.11.5-П4-5.1-Debian <<>> linuxhint.ком показывает используемую версию раскопок.
Следующие строки указывают, что dig получил ответ на запрос без ошибок, его идентификационный номер, раздел флагов в этом случае показывают, что он печатает ответ на запрос (qr), Требуется рекурсия (rd) и Доступна рекурсия (ra). Остальное печатает количество результатов.

;; Получил ответ:
;; - >> ЗАГОЛОВОК<<- opcode: QUERY, status: NOERROR, id: 6034
;; флаги: qr rd ra; ЗАПРОС: 1, ОТВЕТ: 1, АВТОРИТЕТ: 0, ДОПОЛНИТЕЛЬНО: 1

Следующие строки показывают совместимость EDNS (механизмы расширения для DNS), а в разделе вопросов показано, что было задано (linuxhint.com Адрес).

;; ОПТИЧЕСКАЯ ПСЕВДОЗЕКЦИЯ:
; EDNS: версия: 0, флаги :; UDP: 512
;; РАЗДЕЛ ВОПРОСА:
; linuxhint.ком.

Раздел ответов дает результат, linuxhint.com IP-адрес (A).

;; ОТВЕТНАЯ ЧАСТЬ:
linuxhint.ком. 3599 IN A 64.91.238.144

Остальное - дополнительное описание того, как был выполнен запрос, время, DNS-сервер и размер.

;; Время запроса: 192 мсек
;; СЕРВЕР: 8.8.8.8 # 53 (8.8.8.8)
;; КОГДА: Вт, 10 сентября, 22:45:54 -03 2019
;; РАЗМЕР MSG rcvd: 58

Из всего вышеперечисленного важно выделить только строчки без «;» актуальны, строки начинаются с ";" комментарии.
По умолчанию dig работает через наш локальный DNS (в Linux, указанный в файле / etc / resolv.conf). Мы можем указать DNS, добавив @ приставка.
Следующий пример инструктирует dig использовать 1.1.1.1 DNS и избегайте всех комментариев с опцией +короткая.

копать @ 1.1.1.1 linuxhint.com + short

В завершение вводной части раскопок приведем последний пример, показывающий записи CNAME для LinuxHInt:

копать linuxhint.com CNAME

Вы можете использовать dig, чтобы получить любую запись DNS, например записи MX.

Команда traceroute для диагностики сетевых проблем

Все современные операционные системы включают функцию traceroute (недавно описанную в Nmap traceroute). Эта функция отлично подходит для диагностики сетевых проблем, включая тесты скорости и пакеты, которые не могут достичь пункта назначения. Когда трафик проходит через Интернет, каждое промежуточное устройство маршрутизации называется «переходом», traceroute помогает определить, какие переходы каким-либо образом влияют на наш трафик, например, задерживают его или блокируют.

В следующем примере показан простой traceroute без параметров для linuxhint.ком

traceroute linuxhint.ком

В приведенном выше примере вы видите 15 переходов или устройства маршрутизации с моего локального маршрутизатора 192.168.0.1 для доступа к linuxhint.com, некоторые из переходов, 2, 10 и 11 не отвечают на пакеты traceroute (* * *).
Возьмем одну строчку, чтобы проверить:

3 10.172.102.109 (10.172.102.109) 16.695 мс 20.178 мс 22.081 мс

Справа вы можете увидеть время приема-передачи (RTT), оно дает три раза, потому что по умолчанию traceroute отправляет 3 пакета, вы можете изменить его, применив -q вариант.

В следующем примере будет показан только один результат RTT на строку:

traceroute -q 1 linuxhint.ком

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

Команда scp для передачи файлов между устройствами

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

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

имя пользователя scp @ X.Икс.Икс.X: / путь / к / удаленному / файлу / локальному / каталогу / где / к / сохранить / / файл

Где:
scp = вызывает программу
Имя пользователя = замените его на правильное имя пользователя
@ = разделяет имя пользователя и хост / IP
Икс.Икс.Икс.Икс = заменить его на правильный host / ip.
: / путь / к / удаленному / файлу = определить удаленное расположение файла для получения.

/ лocal / каталог / где / в / сохранить / в / файл = заменить его на локальный каталог, в котором вы хотите сохранить файл.

В моем случае я подключаюсь к удаленному устройству по IP 192.168.0.1 используя пользователя linuxhint скопировать Vagrantfile файл, который хранится в домашнем каталоге пользователя linuxhint, и я копирую его в дом локального пользователя по имени общий.

scp linuxhint @ 192.168.0.3: / главная / linuxhint / Vagrantfile / главная / общий /

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

scp / главная / общий / Vagrantfile linuxhint @ 192.168.0.3: / главная / linuxhint / Рабочий стол

Где:
scp = вызывает программу
ИМЯ ФАЙЛА = имя файла для передачи
Имя пользователя = замените его на правильное имя пользователя
@ = разделяет имя пользователя и хост / IP
Икс.Икс.Икс.Икс = заменить его на правильный host / ip
: / удаленный / каталог = определить удаленное место для хранения переданного файла.

Команда nc для передачи файлов и сканирования портов

В NC (netcat) - один из самых полезных инструментов для системных администраторов, NC полезен для многих задач, таких как перенаправление, сканирование портов, диагностика сервера, передача файлов, мониторинг сети и т. д. В этом руководстве показаны два примера NC использование команды для сканирования портов и передачи файлов по сети.

В следующем примере показано, как nc используется для отправки файла с именем «linuxhint» с компьютера на другой через порт 22.

На конечном компьютере выполните следующую команду:

nc -l 22> linuxhint

На отправляющем компьютере выполните:

NC 192.168.0.14 22 < linuxhint

Я проверяю, есть ли файл, запустив ls

В следующем примере показано, как nc используется для сканирования диапазона портов 22-80 в linuxhint.ком

nc -z -v linuxhint.com 22-80

Команда rsync для клонирования и файловых каталогов между устройствами

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

Синтаксис для копирования файла с сервера в каталог:

rsync  @:

В следующем примере я копирую файл с именем linuxhint в текущий или рабочий каталог (.)

rsync linuxhint @ 192.168.0.3: / главная / linuxhint / linuxhint

Я проверяю перенос файла, запустив  ls в рабочем каталоге

В следующем примере показано, как клонировать локальный каталог на удаленный сервер, синтаксис следующий:

rsync -avz   @
:

В этом практическом примере я клонирую каталог с именем rsync в каталог рабочего стола linuxhint пользователь на удаленном сервере.

rsync -avz rsync / linuxhint @ 192.168.0.3: / главная / linuxhint / Рабочий стол

Где:
а = архив
z = компресс
v = многословие

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

Как разработать игру в Linux
Десять лет назад не многие пользователи Linux могли бы предсказать, что их любимая операционная система однажды станет популярной игровой платформой д...
Порты коммерческих игровых движков с открытым исходным кодом
Бесплатные игры с открытым исходным кодом и кроссплатформенные версии игрового движка можно использовать для игры как в старые, так и в некоторые из с...
Лучшие игры с командной строкой для Linux
Командная строка - не только ваш главный союзник при использовании Linux - она ​​также может быть источником развлечений, потому что вы можете использ...