Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_UNIX_15_19_окт2004.doc
Скачиваний:
3
Добавлен:
27.04.2019
Размер:
478.72 Кб
Скачать

2.5 Програма netstat

Програма netstat надає можливість отримувати інформацію про статистику щодо об’єктів у мережі, яку веде ядро операційної системи. Програма netstat подає відомості про активні сокети, зокрема сокети з доменів inet (AF_INET) та UNIX (AF_LOCAL чи AF_UNIX). Сім’ю протоколів можна зазначити за допомогою опції -d. За умовчанням сервери, сокети яких пов’язано з адресою INADDR_ANY, не виводяться, але цей режим можна вимкнути за допомогою опції -а. Наприклад, команда

$ netstat -f inet

викличе TCP/UDP-сокети; команда

$ netstat -af inet

викличе усі сервери.

Внаслідок цього буде виведено такий рядок:

$ netstat -af inet

Active Internet connections

Proto Recv-Q Send-Q Local Address Foreign Address (State)

tcp 0 0 *.6000 *.* LISTEN

tcp 0 0 *.Smtp *.* LISTEN

·

·

·

udp 0 0 *.udpecho *.*

·

·

·

“LISTEN” в останній колонці означає, що сервер очікує на запит на з’єднання від клієнта.

За допомогою netstat -i можна одержати інформацію про інтерфейси:

$ netstat -i

Name MTU Network Address Ipkts Jerrs Opkts Ocrrs Coll

cd0 1500 <Link> 00.00.c0.54.5373 40841 0 5793 0 0

cd0 1500 172.30 bsd 40841 0 5793 0 0

tun0* 1500 <Link> 397 0 451 0 0

tun0* 1500 205.184.142 205.184.142.171 397 0 451 0 0

sl0* 552 <Link> 0 0 0 0 0

lo0 16384 <Link> 353 0 353 0 0

lo0 16384 127 local host 353 0 353 0 0

Вочевидь, що в машині bsd сконфігуровано чотири інтерфейси. Перший — ed0 — адаптер мережі Еthernet, який входить до приватної мережі 172.30.0.0. Адреса 00.00.с0.54 73 — перша з МАС-адрес (media access control — контроль доступу до носія) даного мережного адаптера. Через цей інтерфейс пройшов 40841 вхідний пакет та 5793 вихідних. Не було зареєстровано ані помилок, ані колізій. MTU становить 1500 байтів — максимальне значення для мереж Ethernet.

Інтерфейс tun0 — телефонний канал, яким зв’язок здійснюється за протоколом РРР. Він належить до мережі 205.184.142.0. MTU для цього інтерфейсу також становить 1500 байтів.

Інтерфейс sl0 – це телефонний канал, яким зв’язок здійснюється за протоколом SLIP (Serial Line Internet Protocol), котрий використовується надто рідко.

Зворотний інтерфейс — lo0; якщо задати опції -і, -b, -d, то виведеться кількість байтів, які пройшли через інтерфейс в обидва боки, або кількість відкинутих пакетів.

Програма netstat може вивести маршрутну таблицю. Для цього треба призначити опцію -n, щоб отримати ІР-адреси замість символічних імен, наприклад:

$ netstat -rn

Routing tables

Internet:

Destination Gateway Flags Refs Use Netif Expire

Default 163.179.44.41 U6Sc 2 0 tun0

127.0.0.1 127.0.0.1 UH 1 34 lo0

163.179.44.41 205.184.142.171 UH 3 0 tun0

172.30 link#1 UC 0 0 ed

172.30.0.1 0:0:c0:54:53:73 UHLW 0 132 lo0

У першій колонці розміщено пункт призначення маршрута; це може бути конкретний хост, мережа чи то маршрут за умовчанням.

У колонці Flags виводяться різні прапорці, більша частка з яких залежить від реалізації:

U – маршрут задіяно (“UP”);

H – маршрут до хосту; якщо цей прапорець відсутній, йдеться про маршрут до мережі (чи підмережі);

G – непрямий маршрут, тобто пункт призначення не позв’язано безпосередньо з даним хостом, до нього треба діставатися через шлюз.

Прапорець Н зазначає, що адреса у першій колонці є повною ІР-адресою хосту; якщо прапорець Н відсутній, то ідентифікатор хосту в цій колонці відсутній, а отже, він – адреса мережі. Прапорець G позначає, чи можна досягти адреси, зазначеної в першій колонці, безпосередньо з даного хосту чи необхідно пройти через проміжний маршрутизатор. Можливо, що в певному випадку водночас буде проставлено обидва прапорці, це означатиме, що один з хостів виступає в ролі шлюзу щодо іншого. Вміст колонки Gateway залежить від того, чи є в ній прапорець G. Якщо маршрут є непрямий (прапорець G є), то в колонці Gateway міститься ІР-адреса наступного шлюзу. Якщо прапорця G немає, то виводиться інформація про те, як досягти безпосередньо під’єднаного пункту призначення. У більшості реалізацій це є завжди ІР-адреса інтерфейсу, до якого під’єднано пункт призначення; це може бути також МАС-адреса: в такому разі встановлюється прапорець L.

Колонка Refs вміщує лічильник надсилань на маршрут, тобто кількість активних користувачів цього маршруту.

Колонка Use зазначає, скільки пакетів було передано цим маршрутом, а колонка Netif вміщує ім’я асоційованого мережного інтерфейсу.

Перший рядок у видаванні програми описує маршрут за умовчанням. Саме ним передаються дейтаграми, коли в маршрутній таблиці немає більш точного маршрута. Шлюз для цього маршрута має адресу 163.179.44.41, куди й надсилається дейтаграма. Рядок 3 зазначає, що є прямий маршрут до хосту 163.179.44.41, а надсилати йому дейтаграми слід через інтерфейс з ІР-адресою 205.184.142.171. Рядок 2 у видаванні — це маршрут для зворотньої адреси (127.0.0.1). Оскільки це адреса хосту, — встановлюється прапорець Н. Оскільки хост під’єднано безпосередньо, то встановлено й прапорець G. У колонці Gateway присутня адреса інтерфейсу lo0. У рядку 4 зазначено маршрут до локальної мережі Ethernet. У колонці Gateway розміщено рядок Link#1, що свідчить про те, що на машині bsd встановлено ОС BSD. У решті систем було б зазначено ІР-адресу інтерфейсу, підімкненого до локальної мережі (172.30.0.1).

За допомогою програми netstat можна отримати статистику протоколів (рис. 2.8). За наявності опції -i netstat видає статистичні дані за протоколами IP, ICMP, IGMP, UDP та ТСР. За допомогою опції -p протокол можна обрати. Наприклад, для отримання статистики за протоколом UDP треба ввести команду:

# netstat -sp udp

udp:

82 дейтаграми отримано

0 з неповним заголовком

0 з помилковим значенням у полі довжини даних

0 з помилковою контрольною сумою

1 відкинуто через відсутність сокета

0 відкинуто широкомовних/групових дейтаграм через відсутність сокетів

0 відкинуто через переповнення буфера сокета

0 не для хешованого блока керування протоколом

81 доставлено

82 відправлено дейтаграм

Нижче наведено результати видавання 45 покажчиків при запусканні netstat -ssp tcp:

tcp:

446 пакетів надіслано

190 пакетів даних (40474 байти)

213 пакетів, що вміщують лише ack (166 відкладених)

18 пакетів з оновленням вікна

32 контрольних пакети

405 пакетів прийнято

195 ack (на 40488 байтів)

12 повторних ack

302 пакети (211353 байти) отримано по порядку

10 пакетів – повних дублікатів (4380 байтів)

22 пакети не за порядком (16114 байтів)

2 пакети з оновленням вікна

20 запитів на з’єднання

2 приймання з’єднання

13 з’єднань встановлено (разом з прийнятими)

22 з’єднання закрито (разом 0 скинутих)

3 з’єднання за вимкнення оновили RTT в кешу

3 з’єднання за вимкнення оновили дисперсію RTT в кешу

2 ембріональних з’єднання скинуто

193 сегменти оновили rtt (з 201 спроб)

31 правильне передбачення заголовка ack

180 правильних передбачень заголовка пакета з даними

Рисунок 2.8 — Інформація про статистику протоколів

Ця статистика отримана після перезавантаження машини bsd і наступного надсилання та отримання кількох повідомлень електронною поштою, а також читання кількох телеконференцій; з 405 отриманих пакетів 10 – дублікати, а 22 надійшли поза чергою.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]