Работа в мрежа

Разширени Linux мрежови команди

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

Настоящият урок е продължение на Basic Linux Network Commands, въпреки че започва с лесни команди за DNS търсене, всички команди са от съществено значение за диагностициране на проблеми. В този урок са показани и накратко обяснени няколко примера за всяка команда.

Командите nslookup и хост за запитване на DNS записи

Според Уикипедия „nslookup е инструмент за команден ред за мрежово администриране, достъпен в много компютърни операционни системи за заявки на системата за имена на домейни (DNS) за получаване на име на домейн или IP адрес, или други DNS записи.

В следващия пример командата nslookup се използва за разрешаване на IP адреса на linuxhint.com.

nslookup linuxhint.com

Следващият пример показва записите mx за linuxhint.com, като приложите опцията -тип = mx.

nslookup -type = mx linuxhint.com

Като алтернатива можете да използвате командния хост, за да получите както резолюция за търсене, така и mx записи:

хост linuxhint.com

Командата dig за запитване на DNS записи

The копай команда (Domain Information Groper) се нуждае от по-дълго описание, за да разбере изхода си (проверете Разбиране на раздела за извеждане на команда dig)

копайте linuxhint.com

Къде (Разбиране на изхода на командата dig):

Първият ред ; <<>> DiG 9.11.5-P4-5.1-Debian <<>> linuxhint.com показва използваната версия за копаене.
Следващите редове указват, че 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.com.

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

;; ОТГОВОР СЕКЦИЯ:
linuxhint.com. 3599 В 64.91.238.144

Останалото е допълнително описание за това как е извършена заявката, време, DNS сървър и размер.

;; Време за заявка: 192 msec
;; СЪРВЪР: 8.8.8.8 # 53 (8.8.8.8)
;; КОГА: Вторник, 10 септември 22:45:54 -03 2019
;; MSG SIZE rcvd: 58

Важно е да подчертаете всички от всички споменати по-горе само редовете без „;“ са подходящи, редове, започващи с „;“ са коментари.
По подразбиране dig работи през нашия локален DNS (на Linux, посочен във файла / etc / resolv.conf). Можем да посочим DNS, като добавим a @ префикс.
Следващият пример инструктира dig да използва 1.1.1.1 DNS и избягвайте всички коментари с опцията +къс.

dig @ 1.1.1.1 linuxhint.com + кратко

За да завършите въведението за копаене, последен пример, показващ записите CNAME за LinuxHInt:

копайте linuxhint.com CNAME

Можете да използвате dig, за да получите всякакъв вид DNS запис като MX записи.

Командата traceroute за диагностика на мрежови проблеми

Всички съвременни операционни системи включват функцията traceroute (наскоро обяснена в Nmap traceroute). Тази функция е отлична за диагностика на мрежови проблеми, включително тестове за скорост и пакети, които не могат да стигнат до местоназначението. Когато трафикът преминава през интернет, всяко посредническо устройство за маршрутизиране се нарича „хоп“, traceroute помага да се идентифицира това, което хмелът влияе по някакъв начин на нашия трафик, например, забавяне или блокиране.

Следващият пример показва прост трасе, без опции, за linuxhint.com

traceroute linuxhint.com

В горния пример виждате 15 скока или маршрутизиращи устройства от моя локален рутер 192.168.0.1 за достигане до linuxhint.com, някои от скачанията, 2, 10 и 11 не отговарят на пакетите за трасиране (* * *).
Нека вземем един ред за проверка:

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

Отдясно можете да видите времето за двупосочно пътуване (RTT), то дава три пъти, защото по подразбиране traceroute изпраща 3 пакета, можете да го промените, като приложите -q опция.

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

traceroute -q 1 linuxhint.com

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

Командата scp за прехвърляне на файлове между устройства

Командата scp е команда, която всеки администратор или потребителят трябва да знае за прехвърляне на файлове между устройства с Linux, беше обяснено дълбоко при използването на командата scp, но ще бъде цитирана и в този урок.

Първият пример показва как да копирате файл от отдалечен компютър на локалния компютър, синтаксисът е:

scp потребителско име @ X.х.х.X: / path / to / remote / file / local / directory / where / to / save / the / file

Където:
scp = извиква програмата
Потребителско име = заменете го за правилното потребителско име
@ = разделя потребителско име и хост / ip
х.х.х.х = заменете го за правилния хост / ip.
: / път / към / отдалечен / файл = определете отдалеченото местоположение на файла за извличане.

/ лocal / directory / where / to / save / the / file = заменете го за локалната директория, където искате да съхраните файла.

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

scp linuxhint @ 192.168.0.3: / home / linuxhint / Vagrantfile / home / shared /

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

scp / home / shared / Vagrantfile linuxhint @ 192.168.0.3: / home / linuxhint / Desktop

Където:
scp = извиква програмата
ИМЕ НА ФАЙЛ = име на файла за прехвърляне
Потребителско име = заменете го за правилното потребителско име
@ = разделя потребителско име и хост / ip
х.х.х.х = заменете го за правилния хост / ip
: / отдалечена / директория = определете отдалеченото местоположение за съхраняване на прехвърления файл.

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

The nc Командата (netcat) е сред най-полезните инструменти за sysadmins, nc е полезен за много задачи като пренасочване, сканиране на портове, диагностика на сървъри, прехвърляне на файлове, мрежово наблюдение и др. Този урок показва два примера за nc команда използвайте за сканиране на портове и прехвърляне на файлове през мрежата.

Следващият пример показва как nc се използва за изпращане на файл, наречен “linuxhint” от компютър на друг през порт 22.

На целевия компютър изпълнете следната команда:

nc -l 22> linuxhint

На изпращащия компютър изпълнете:

nc 192.168.0.14 22 < linuxhint

Проверявам дали файлът е там, като стартирам ls

Следващият пример показва как nc се използва за сканиране на порт за диапазон 22-80 на linuxhint.com

nc -z -v linuxhint.com 22-80

Командата rsync за клониране и файлове на директории между устройства

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

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

rsync  @:

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

rsync linuxhint @ 192.168.0.3: / home / linuxhint / linuxhint

Проверявам прехвърлянето на файлове, като стартирам  ls на работната директория

Следващият пример показва как да клонирате локална директория към отдалечен сървър, синтаксисът е:

rsync -avz   @
:

В този практически пример клонирам директория с име rsync в директорията на работния плот на linuxhint потребител на отдалечения сървър.

rsync -avz rsync / linuxhint @ 192.168.0.3: / home / linuxhint / Desktop

Където:
a = архив
z = компресирайте
v = многословие

Надявам се, че това описание на важни мрежови команди на Linux е полезно за разбирането на тяхното значение при работа с мрежи. Продължавайте да следвате LinuxHint за нови съвети и актуализации за Linux и мрежи.

Битка за Уеснот 1.13.6 Разработка освободена
Битка за Уеснот 1.13.6, издаден миналия месец, е шестата версия за разработка в 1.13.x серия и предоставя редица подобрения, най-вече на потребителски...
Как да инсталирате League Of Legends на Ubuntu 14.04
Ако сте фен на League of Legends, това е възможност за вас да тествате League of Legends. Имайте предвид, че LOL се поддържа на PlayOnLinux, ако сте п...
Инсталирайте най-новата стратегия за игра OpenRA на Ubuntu Linux
OpenRA е Libre / Free Real Time стратегия за игра, която пресъздава ранните игри на Westwood като класическата Command & Conquer: Red Alert. Разпредел...