Команда NETSTAT
Команда netstat, дозволяє переглядати інформацію про з'єднання системи за протоколами UDP і TCP. Команду можна запустити так, щоб вона виконувалася кожні n секунд і дозволяла отримувати таку інформацію в табличному форматі:
- Назва протоколу (TCP або UDP)
- Локальна адреса IP і номер порту, які використовуються з'єднанням через сокет
- Віддаленну адресу IP і номер порту, який використовується з'єднанням через сокет
- Стан з'єднання (очікує (Listening), Встановленно (Established) і т.д.)
Вивчення стану портів з'єднання між двома системами дозволяє виключити протокол TCP / IP, як одну з причин проблеми. Для повного розуміння інформації, що надається цією командою, необхідно зрозуміти принципи встановлення з'єднання в протоколі TCP / IP. Ось основні етапи процесу установки з'єднання TCP / IP:
1. При спробі встановити з'єднання клієнт відправляє повідомлення SYN серверу.
2. Сервер відповідає власним повідомленням SYN і підтвердженням (ACK).
3. Після цього клієнт відправляє повідомлення ACK назад на сервер, завершуючи процес установки з'єднання.
Процес розриву з'єднання складається з наступних етапів:
1. Клієнт повідомляє "Я закінчив", відправляючи повідомлення FIN серверу. На цьому етапі клієнт тільки приймає дані від сервера, але сам нічого не відправляє.
2. Після цього сервер відправляє повідомлення ACK і відправляє власне повідомлення FIN клієнту.
3. Після цього клієнт відправляє повідомлення ACK серверу, підтверджуючи запит сервера FIN.
4. При отриманні повідомлення ACK від клієнта сервер закриває з'єднання.
Розуміння етапів процесу встановлення і розриву з'єднання дозволяє більш прозоро інтерпретувати стан з'єднань у виведенні команди netstat. З'єднання в списку можуть знаходитися в наступних станах.
CLOSE_WAIT - вказує на пасивну фазу закриття з'єднання, яка починається після отримання сервером повідомлення FIN від клієнта.
CLOSED - з'єднання перервано та закрито сервером.
ESTABLISHED - клієнт встановив з'єднання з сервером, отримавши від сервера повідомлення SYN.
FIN_WAIT_1 - клієнт ініціював закриття з'єднання (відправив повідомлення FIN).
FIN_WAIT_2 - клієнт отримав повідомлення ACK і FIN від сервера.
LAST_ACK - сервер відправив повідомлення FIN клієнту.
LISTEN - сервер готовий приймати вхідні з'єднання.
SYN_RECEIVED - сервер отримав повідомлення SYN від клієнта і відправив йому відповідь.
TIMED_WAIT - клієнт відправив повідомлення FIN серверу і очікує відповіді на це повідомлення.
YN_SEND - зазначене з'єднання активне і відкрите.
Тепер все, що необхідно знати про команду netstat, це синтаксис її виклику:
netstat [-a] [-e] [-n] [-o] [-p <протокол>] [-r] [-s] [інтервал]
Параметри команди netstat: -A - Показує всі з'єднання і очікують порти.
-E - Відображає статистику Ethernet.
-N - Показує адреси та порти в цифровому форматі (адреси IP замість імен інтерфейсів.
-O - Відображає ідентифікатор процесу-власника для кожного з'єднання.
-P <протокол> - Показує з'єднання для зазначеного протоколу. Можна вибрати один з таких протоколів: TCP, TCPv6, UDP і UDPv6. При вказівці параметра -s можна вказувати IP, IPv6, ICMP і ICMPv6.
-R - Показує таблицю маршрутизації системи.
-S - Відображає статистику для кожного протоколу окремо; за замовчуванням статистика відображається для протоколів TCP, TCPv6, UDP і UDPv6, IP, IPv6, ICMP і ICMPv6. Підмножина протоколів може бути вказано за допомогою параметра -p. інтервал - Інтервал в секундах, за який команда оновлює свій вивід. При вказівці інтервалу команду можна перервати комбінацією клавіш <Ctrl+C>.
Дата добавления: 2015-08-20; просмотров: 1099;