13.3. Утиліти управління мережею: Nmap. NatCat. Netstat
Протокол ICMP (Internet Control Message Protocol,протокол контролю повідомлень в Інтернет) – це Internet-протокол мережевого рівня моделі OSI, що створює пакети з повідомленнями про помилки і іншою інформацією про обробку IP-пакетів.
У протоколі ICMP описано декілька типів пакетів, таких як:
· ехо-запит – пакет, що відправляється для перевірки зв'язку з віддаленим вузлом;
· ехо-відповідь – пакет, що отримується джерелом у відповідь на пакет типу ехо-запит;
· призначення недоступне – одержувач такого пакету інформується про недоступність мережі/вузла/порту призначення.
· редірект – пакет інформує вузол про зміну маршруту призначення. У сучасних ОС такий тип пакету ігнорується.
· час вийшов – вузол-джерело отримує цей тип пакету, якщо IP-пакет був знищений у зв'язку з обнуленням поля TimeToLive.
Інформацію про інші типи (а також підтипи) пакетів ICMP можна отримати в заголовному файлі /usr/include/linux/icmp.h.
13.2. Утиліти ping, traceroute, tcptraceroute
Утиліта ping служить для перевірки факту наявності зв'язку з віддаленим вузлом, а також надійності і швидкості зв'язку. Інколи утиліта використовується для розкриття IP-адрес хоста по його імені.
Синтаксис її такий:
ping [параметри] им'я_або_IP-адреса_хоста
За допомогою параметра -c ви можете вказати кількість запитів, які виконає ping. Якщо параметр -c опущений, то ping подаватиме запити до тих пір, поки не отримає сигнал або користувач не натисне <Ctrl-с>.
Приклад 1:
[gserg@WebMedia linux]$ ping -c3 www.ya.ru
PING ya.ru (213.180.204.8) 56(84) bytes of data.
64 bytes from ya.ru (213.180.204.8): icmp_seq=0 ttl=49 time=26.7 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=1 ttl=49 time=25.6 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=2 ttl=49 time=24.7 ms
--- ya.ru ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2019ms
rtt min/avg/max/mdev = 24.741/25.718/26.724/0.809 ms, pipe 2
[gserg@WebMedia linux]$
За допомогою параметра -f можна перевірити швидкість роботи мережі (працює лише з під root). При використанні цього параметра ping посилає близько 1000 пакетів в секунду.
Приклад 2:
[gserg@WebMedia gserg]$ ping -f 192.168.2.254
PING 192.168.2.254 (192.168.2.254) 56(84) bytes of data.
ping: cannot flood; minimal interval, allowed for user, is 200ms
[gserg@WebMedia gserg]$ su -c "ping -f 192.168.2.254"
Password:
PING 192.168.2.254 (192.168.2.254) 56(84) bytes of data.
--- 192.168.2.254 ping statistics ---
238 packets transmitted, 238 received, 0% packet loss, time 4379ms
rtt min/avg/max/mdev = 0.147/0.177/0.478/0.031 ms, pipe 2, ipg/ewma 18.478/0.179 ms
[gserg@WebMedia gserg]$
Параметром -s може бути вказаний розмір пакету в байтах (не менше 64 і не більше 65000), в іншому випадку розмір пакету складе 64 байти.
[gserg@WebMedia linux]$ ping -s 65000 192.168.2.254
PING 192.168.2.254 (192.168.2.254) 65000(65028) bytes of data.
65008 bytes from 192.168.2.254: icmp_seq=0 ttl=64 time=12.0 ms
65008 bytes from 192.168.2.254: icmp_seq=1 ttl=64 time=12.0 ms
65008 bytes from 192.168.2.254: icmp_seq=2 ttl=64 time=11.9 ms
65008 bytes from 192.168.2.254: icmp_seq=3 ttl=64 time=11.9 ms
--- 192.168.2.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3026ms
rtt min/avg/max/mdev = 11.988/12.029/12.083/0.086 ms, pipe 2
[gserg@WebMedia linux]$
Додаткову інформацію можна отримати з довідки man.
Команда traceroute допоможе перевірити шлях до віддаленого хоста, видаючи всі проміжні маршрутизатори. За допомогою цієї команди стає просто діагностувати проблему у великій мережі, швидко виявляючи збійну ділянку. Синтаксис команди такий самий, як і в ping, за винятком параметрів командного рядка.
Приклад 3:
[gserg@WebMedia linux]$ traceroute www.ya.ru
traceroute to ya.ru (213.180.204.8), 30 hops max, 38 byte packets
1 ns.edu.vologda.ru (192.168.2.2) 0.281 ms 0.192 ms 0.162 ms
2 80.92.3.3 (80.92.3.3) 1.169 ms 1.257 ms 1.103 ms
3 sv-vol00ra-s2-0.severttk.ru (80.92.3.1) 3.140 ms 3.250 ms 3.111 ms
4 sv-yar00rb-s1-0-0.severttk.ru (80.92.0.69) 34.511 ms sv-yar00rb-s2-5-0.
severttk.ru (80.92.0.97) 25.161 ms sv-yar00rb-s1-0-0.severttk.ru (80.92.0.69) 10.718 ms
5 MSK41-F000.145.gw.transtelecom.net (217.150.38.142) 28.066 ms 21.430 ms 31.571 ms
6 MSK41.TRANSTELECOM.NET (193.232.244.211) 25.680 ms 18.921 ms 20.999 ms
MPLS Label=350 CoS=6 TTL=255 S=1
7 ix2-m9.yandex.net (193.232.244.93) 23.085 ms 21.548 ms 35.076 ms
8 c3-vlan3.yandex.net (213.180.192.171) 25.177 ms 23.104 ms 22.918 ms
9 ya.ru (213.180.204.8) 33.519 ms 23.189 ms 32.496 ms
Команда tcptraceroute практично аналогічна попередній, проте у якості базового протоколу вона використовує протокол tcp. Це дозволяє перевіряти доступ до служб tcp і шлях до них.
Приклад 4:
gserg@ADM:~$ tcptraceroute smtp.mail.ru 25
Selected device eth0, address 10.52.2.1, port 45217 for outgoing packets
Tracing the path to smtp.mail.ru (194.67.23.111) on TCP port 25 (smtp), 30 hops max
1 10.52.0.5 0.383 ms 0.231 ms 0.219 ms
2 b229.vologda.ru (193.19.67.229) 1248.475 ms 345.180 ms 106.562 ms
3 spb-vgld.ptn.ru (212.48.195.9) 78.138 ms 65.802 ms 157.785 ms
4 spb-bbn1-ge-2-1-0-88.rt-comm.ru (213.59.5.141) 120.521 ms 114.442 ms 131.549 ms
5 msk-bgw1-ge1-0-0-0.rt-comm.ru (217.106.0.14) 76.536 ms 177.440 ms 130.447 ms
6 msk-bgw1-ge1-0-0-0.rt-comm.ru (217.106.0.14) 143.422 ms 90.071 ms 115.207 ms
7 195.161.165.246 172.163 ms 133.969 ms 110.668 ms
8 cat03.Moscow.gldn.net (195.239.10.189) 79.129 ms 77.774 ms 93.654 ms
9 cat12.Moscow.gldn.net (194.186.159.238) 76.082 ms 162.883 ms 77.045 ms
10 mailru-KK12-2-gw.Moscow.gldn.net (195.239.8.90) 105.042 ms 75.285 ms 89.922 ms
11 * * *
12 smtp.mail.ru (194.67.23.111) [open] 78.527 ms 81.314 ms 80.269 ms
В більшості випадків, параметри командного рядка не доводиться використовувати, проте їх все ж слід вивчити за допомогою довідкової системи man.
13.3. Утиліти управління мережею: nmap. netcat. netstat
Утиліти управління мережею існують для діагностики як мережевих проблем, так і діагностики проблем кожного конкретного хоста.
Найбільш популярною утилітою, за допомогою якої діагностуються проблеми хостів є nmap, яка входить в постачання практично всіх сучасних дистрибутивів операційної системи Linux.
Утилітаnmapмає багато можливостей, але нас в першу чергу цікавить її можливості щодо визначення активних сервісів віддаленого хоста, а також операційної системи.
Повноцінно використовувати nmap можна лише за наявності прав суперкористувача. Ось ті параметри nmap, які ми розглянемо:
· -sS – приховане сканування TCP-портів
· -sT – відкрите сканування TCP-портів
· -sU – відкрите сканування UDP-портів
· -sP – ping-сканування (пошук активних хостів в мережі)
· - sF, -sN, -sX – різні приховані типи сканування TCP-портів.
· -O – визначення типу операційної системи (не працює з -sP)
· -p – вказівка діапазону портів для сканування (12345, 12345-2333)
· -v – детальне виведення.
Приклад 5:
[root@WebMedia linux]# nmap -v -sS -O 192.168.2.84
Starting nmap 3.48 (http://www.insecure.org/nmap/) at 2005-04-23 17:24 MSD
Host 192.168.2.84 appears to be up... good.
Initiating SYN Stealth Scan against 192.168.2.84 at 17:24
Adding open port 135/tcp
Adding open port 139/tcp
Adding open port 445/tcp
The SYN Stealth Scan took 0 seconds to scan 1657 ports.
For OSScan assuming that port 135 is open and port 1 is closed and neither are firewalled
Interesting ports on 192.168.2.84:
(The 1654 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
Device type: general purpose
Running: Microsoft Windows 95/98/ME|NT/2K/XP
OS details: Microsoft Windows Millennium Edition (Me), Windows 2000 Professional or Advanced Server, or Windows XP
TCP Sequence Prediction: Class=random positive increments
Difficulty=9641 (Worthy challenge)
IPID Sequence Generation: Incremental
Nmap run completed -- 1 IP address (1 host up) scanned in 2.391 seconds
Для перевірки працездатності мережі на конкретному вузлі і виявлення помилок при передачі використовується команда NetCat (nc).
Команда nc може відкрити порт і виводити інформацію з нього на екран (або у файл, інше застосування по каналу). Цю можливість часто використовують для перевірки роботи TCP. Для відкриття порту служить ключ -l, а порт можна вказати параметром -p:
Приклад 6:
1-а консоль
[root@WebMedia linux]# nc -l -p 25 127.0.0.1
test
test double
punt!
2-а консоль
[gserg@WebMedia gserg]$ telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
test
test double
Connection closed by foreign host.
[gserg@WebMedia gserg]$
Проте і за допомогою nc можна просканувати відкриті порти. Правда, nc не має такого широкого набору можливостей як nmap, і робить сканування набагато повільніше. Для цього використовується параметр -z. Параметр -v дозволяє нам отримати додаткову інформацію:
Приклад 7:
[root@WebMedia linux]# nc -z -v 127.0.0.1 600-700
localhost.localdomain [127.0.0.1] 631 (ipp) open
Команда netstat дозволяє проглянути відкриті з'єднання на поточному комп'ютері. Введена без параметрів, вона покаже всі з'єднання, включаючи відкриті сокети unix. Команда приймає параметри, найчастіше використовуваними є:
· -n – показує числові значення номерів портів замість імені з /etc/services і числових IP-адрес замість доменних імен;
· -p – показує pid процесу, що використовує з'єднання;
· -t – показує лише TCP-сокети
· -u – показує лише UDP-сокети
· -i – показує список інтерфейсів і статистику трафіку на них
· -l – лише слухаючі порти
Таким чином, перегляд всіх програм, що слухають TCP-порти:
root@ADM:/var/mail# netstat -tpl
Активні з'єднання з інтернетом (only servers)
Proto RECV-Q SEND-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost:2208 *:* LISTEN 4785/hpiod
tcp 0 0 *:print01 *:* LISTEN 4864/inetd
tcp 0 0 *:51762 *:* LISTEN 26729/sim
tcp 0 0 *:telnet *:* LISTEN 4864/inetd
tcp 0 0 localhost:ipp *:* LISTEN 4761/cupsd
tcp 0 0 localhost:2207 *:* LISTEN 4788/python
tcp6 0 0 *:5800 *:* LISTEN 9066/kded [kdeinit]
tcp6 0 0 *:5900 *:* LISTEN 9066/kded [kdeinit]
tcp6 0 0 *:65005 *:* LISTEN 9519/notes2w
tcp6 0 0 *:57177 *:* LISTEN 9519/notes2w
Просмотр всех интерфейсов:
root@ADM:/var/mail# netstat -i
Таблица интерфейсов ядра
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 238445 0 0 0 200095 0 0 0 BMRU
lo 16436 0 282 0 0 0 282 0 0 0 LRU
Висновки
Протокол ICMP використовується для отримання інформації про роботу мережі. Для діагностики роботи мережі призначені утиліти ping, traceroute, tcptraceroute, які мають параметри що уточнюють запит. Для керування роботою мережі, діагностики проблем використовуються утиліти nmap. netcat. netstat.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2025) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление