NetworkTest: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «{{Note|Обратите внимание, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.}} =Тестирование и мониторинг сети= ==Проверка доступности хоста== ping 192.168.0.1 ==Определение маршрута сетевых пакетов== tracepath ya....»)
 
 
(не показано 10 промежуточных версий этого же участника)
Строка 23: Строка 23:
#:<pre>$ iperf -c 192.168.0.12</pre>
#:<pre>$ iperf -c 192.168.0.12</pre>
#На сервере и на клиенте отобразятся максимальные скорость отправки и получения
#На сервере и на клиенте отобразятся максимальные скорость отправки и получения
===Параметры===
====Общие====
{| class="wikitable collapsible" style="float:center;
!№
!Параметр сокращенно
!Параметр подробно
!Назначение
|-
|1
|<nowiki>-p</nowiki> <nowiki>#</nowiki>
|<nowiki>--port</nowiki> <nowiki>#</nowiki>
|<nowiki>#</nowiki> - порт, на котором будут работать сервер и клиент (по-умолчанию 5201)
|-
|2
|<nowiki>-f</nowiki>
|<nowiki>--format</nowiki>
|формат скорости в результатах теста: k (Кбит), K (Кбайт), m (Мбит), M (Мбайт), g (Гбит), G (Гбайт)
|-
|3
|<nowiki>-i #</nowiki>
|<nowiki>--interval #</nowiki>
|интервал между выводом результата тестирования, в секундах
|}
====Сервер====
{| class="wikitable collapsible" style="float:center;
!№
!Параметр сокращенно
!Параметр подробно
!Назначение
|-
|1
|<nowiki>-s</nowiki>
|<nowiki>--server</nowiki>
|запуск сервера c отображением информации на экране
|-
|2
|<nowiki>-D</nowiki>
|<nowiki>--daemon</nowiki>
|запуск сервера в фоновом режиме в виде службы, будет оставаться запущенным, даже после закрытия консоли. Можно прописать в виде юнита systemd.
|}
====Клиент====
*где <nowiki>#[KMG]</nowiki> - можно указать значение и объем K - килобит, M - мегабит и G - гигабит соответственно.
*где <nowiki>#</nowiki> - нужно подставить значение
{| class="wikitable collapsible" style="float:center;
!№
!Параметр сокращенно
!Параметр подробно
!Назначение
|-
|1
|<nowiki>-c</nowiki> <хост>
|<nowiki>--client</nowiki> <хост>
|запуск клиента и подключение к серверу <хосту>
|-
|2
|<nowiki>-u</nowiki>
|<nowiki>--udp</nowiki>
|протокол UDP вместо TCP
|-
|3
|<nowiki>-b #[KMG][/#]</nowiki>
|<nowiki>--bandwidth #[KMG][/#]</nowiki>
|максимальная скорость в битах/сек (0 - отсутствует ограничение); по умолчанию отсутствует ограничение скорости для TCP, а для UDP составляет 1 Мбит/сек (опция /# для пакетного режима передачи данных)
|-
|4
|<nowiki>-t #</nowiki>
|<nowiki>--time #</nowiki>
|время тестирования в секундах (по умолчанию 10 сек)
|-
|5
|<nowiki>-n #[KMG]</nowiki>
|<nowiki>--bytes #[KMG]</nowiki>
|количество байт для передачи данных (вместо ключа -t)
|-
|6
|<nowiki>-l</nowiki> #[KMG] -
|<nowiki>--len #[KMG]</nowiki>
|размер буфера (по умолчанию 128 КБ для TCP, 8 КБ для UDP)
|-
|7
|<nowiki>-P #</nowiki>
|<nowiki>--parallel #</nowiki>
|число одновременных параллельных клиентских потоков
|-
|8
|<nowiki>-R</nowiki>
|<nowiki>--reverse</nowiki>
|запуск в обратном режиме (Reverse mode: сервер отправляет трафик, клиент принимает)
|-
|9
|<nowiki>-4</nowiki>
|<nowiki>--version4</nowiki>
|использовать только IPv4
|-
|10
|<nowiki>-6</nowiki>
|<nowiki>--version6</nowiki>
|использовать только IPv6
|-
|11
|<nowiki>-Z</nowiki>
|<nowiki>--zerocopy</nowiki>
|метод отправки данных по технологии zero copу для снижения нагрузки на процессор
|-
|12
|<nowiki>-O</nowiki> N
|<nowiki>--omit N</nowiki>
|пропустить первые n секунд (игнорировать алгоритм TCP slowstart--)
|-
|13
|colspan="2"|<nowiki>--get-server-output</nowiki>
|получить результаты с сервера
|}
===Пример использования===
====Вариант 1: простой====
#Адрес сервера 192.168.0.17, адрес клиента 192.168.0.136
#Запускаем iperf на сервере
#:<pre>$ iperf -s</pre>
#Запускаем iperf на клиенте
#:<pre>$ iperf -c 192.168.0.17</pre>
Вывод будет следующим:
Сервер:
<pre>
[admin@server]$ iperf -s
Server listening on TCP port 5001 TCP window size:  128 KByte (default)
[  4] local 192.168.0.17 port 5001 connected with 192.168.0.136 port 46060
[ ID] Interval      Transfer    Bandwidth
[  4]  0.0-10.7 sec  62.1 MBytes  48.8 Mbits/sec
</pre>
Клиент:
<pre>
[uer@client]$ iperf -c 192.168.0.17
Client connecting to 192.168.0.17, TCP port 5001 TCP window size: 45.0 KByte (default)
[  3] local 192.168.0.136 port 46060 connected with 192.168.0.17 port 5001
[ ID] Interval      Transfer    Bandwidth
[  3]  0.0-10.3 sec  62.1 MBytes  50.8 Mbits/sec
</pre>
==Определение скорости интернет-соединения==
==Определение скорости интернет-соединения==
Установка:
Установка:
Строка 30: Строка 179:
Утилита проверит скорость до ближайшего сервера и выведет скорость загрузки и скачивания.
Утилита проверит скорость до ближайшего сервера и выведет скорость загрузки и скачивания.


==Анализ сети с использованием Wireshark==
===Установка и запуск===
Установка:
# apt-get install wireshark
Запуск:
$ beesu wireshark
===Сценарии использования===
====Проверка HTTP-трафика====
Введите {{cmd|http}} в поле фильтра и нажмите «Применить». Затем запустите браузер и перейдите на любой сайт:
[[File:Wireshark_start1.png]]
Чтобы начать новый анализ, остановите захват в реальном времени и отредактируйте фильтр параметров съемки.
====Проверка трафика HTTP с заданного IP-адреса====
Чтобы осуществить проверку, добавим в фильтр для отслеживания HTTP-трафика между локальным компьютером и 192.168.0.1 параметр ip.src:
{{cmd|<nowiki>ip.src==192.168.0.1&&</nowiki>}}
[[File:Wireshark_start2.png]]
====Проверка HTTP-трафика на заданный IP-адрес====
Этот пункт тесно связан с советом №2. Но в этом случае мы будем использовать параметр ip.dst как часть фильтра захвата:
{{cmd|<nowiki>ip.dst==192.168.0.108&&http</nowiki>}}
[[File:Wireshark_start3.png]]
Объединяя советы №2 и №3, Вы можете использовать ip.addr в правиле фильтрации вместо ip.src или ip.dst.
====Мониторинг трафика Apache и MySQL в сети====
Эта функция может Вам пригодиться при необходимости проверить трафик, который будет соответствовать определенным условиям. К примеру, чтобы контролировать трафик на портах TCP 80 (веб-сервер) и 3306 (сервер базы данных MySQL / MariaDB), можно использовать условие OR в фильтре захвата:
{{cmd|<nowiki>tcp.port==80||tcp.port==3306</nowiki>}}
[[File:Wireshark_start4.png]]
В советах №2 и №3 символ {{cmd|<nowiki>||</nowiki>}} и слово {{cmd|or}} производят одинаковые операции. То же самое справедливо для символов {{cmd|&&}} и слова {{cmd|and}}.
====Исключение пакетов с заданными IP-адресами====
Чтобы исключить пакеты, не соответствующие правилам фильтра, используйте {{cmd|<nowiki>!</nowiki>}} и заключите правило в круглые скобки. Например, чтобы исключить отправляемые пакеты или направляющиеся к заданному IP-адресу, Вы можете использовать:
{{cmd|<nowiki>!(ip.addr == 192.168.0.10)</nowiki>}}
====Мониторинг трафика локальной сети (192.168.0.0/24)====
Это правило фильтра позволит отображать только локальный трафик и исключать различные пакеты (как адресованные, так и поступающие из Интернета):
{{cmd|<nowiki>ip.src==192.168.0.0/24 and ip.dst==192.168.0.0/24</nowiki>}}
[[File:Wireshark_start5.png]]
====Отслеживание содержания в TCP conversation====
*Статистика-Диалоги
*Протоколы - отмечаем TCP
*Снимите галочку "Ограничить соотиветственн..."
*Выбираем пакет
*Жмем "Отслеживание трафика"
*Показать данные как > YAML
[[File:Wireshark_start6.png]]
====Изменение правил раскраски====
Наверняка Вы уже заметили, что каждая строка в окне захвата окрашена. Если Вы хотите изменить эти настройки, перейдите в {{path|Просмотр|Цветовые правила}}
[[File:Wireshark_start7.png]]
====Сохранение Capture в файл====
Вы можете изучить содержимое захвата Wireshark подробнее, сохранив его. Для этого перейдите в меню {{path|Файл|Экспорт результатов анализа пакетов}}.
[[File:Wireshark_start8.png]]
=Источники=
*[https://help.keenetic.com/hc/ru/articles/360010536580-Тестирование-пропускной-способности-локального-подключения-с-помощью-iperf help.keenetic.com]
*[https://blog.sedicomm.com/2017/03/27/10-sovetov-po-ispolzovaniyu-wireshark-dlya-analiza-paketov-dannyh/#6 blog.sedicomm.com]
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}

Текущая версия от 20:26, 15 ноября 2023

Примечание: Обратите внимание, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.

Тестирование и мониторинг сети

Проверка доступности хоста

ping 192.168.0.1

Определение маршрута сетевых пакетов

tracepath ya.ru
tracepath 8.8.8.8

или

traceroute ya.ru
traceroute 8.8.8.8

Клиент-серверное определение скорости сети

На сервере и на клиенте установите утилиту iPerf:

# apt-get install iperf

Чтобы проверить скорость от клиента до сервера, выполните следующее:

  1. Запустите iperf на сервере с ключом -s
    $ iperf -s
  2. Запустите iperf на клиенте с ключом -c и указанием адреса:
    $ iperf -c 192.168.0.12
  3. На сервере и на клиенте отобразятся максимальные скорость отправки и получения

Параметры

Общие

Параметр сокращенно Параметр подробно Назначение
1 -p # --port # # - порт, на котором будут работать сервер и клиент (по-умолчанию 5201)
2 -f --format формат скорости в результатах теста: k (Кбит), K (Кбайт), m (Мбит), M (Мбайт), g (Гбит), G (Гбайт)
3 -i # --interval # интервал между выводом результата тестирования, в секундах

Сервер

Параметр сокращенно Параметр подробно Назначение
1 -s --server запуск сервера c отображением информации на экране
2 -D --daemon запуск сервера в фоновом режиме в виде службы, будет оставаться запущенным, даже после закрытия консоли. Можно прописать в виде юнита systemd.

Клиент

  • где #[KMG] - можно указать значение и объем K - килобит, M - мегабит и G - гигабит соответственно.
  • где # - нужно подставить значение
Параметр сокращенно Параметр подробно Назначение
1 -c <хост> --client <хост> запуск клиента и подключение к серверу <хосту>
2 -u --udp протокол UDP вместо TCP
3 -b #[KMG][/#] --bandwidth #[KMG][/#] максимальная скорость в битах/сек (0 - отсутствует ограничение); по умолчанию отсутствует ограничение скорости для TCP, а для UDP составляет 1 Мбит/сек (опция /# для пакетного режима передачи данных)
4 -t # --time # время тестирования в секундах (по умолчанию 10 сек)
5 -n #[KMG] --bytes #[KMG] количество байт для передачи данных (вместо ключа -t)
6 -l #[KMG] - --len #[KMG] размер буфера (по умолчанию 128 КБ для TCP, 8 КБ для UDP)
7 -P # --parallel # число одновременных параллельных клиентских потоков
8 -R --reverse запуск в обратном режиме (Reverse mode: сервер отправляет трафик, клиент принимает)
9 -4 --version4 использовать только IPv4
10 -6 --version6 использовать только IPv6
11 -Z --zerocopy метод отправки данных по технологии zero copу для снижения нагрузки на процессор
12 -O N --omit N пропустить первые n секунд (игнорировать алгоритм TCP slowstart--)
13 --get-server-output получить результаты с сервера

Пример использования

Вариант 1: простой

  1. Адрес сервера 192.168.0.17, адрес клиента 192.168.0.136
  2. Запускаем iperf на сервере
    $ iperf -s
  3. Запускаем iperf на клиенте
    $ iperf -c 192.168.0.17

Вывод будет следующим:

Сервер:

[admin@server]$ iperf -s

Server listening on TCP port 5001 TCP window size:  128 KByte (default)

[  4] local 192.168.0.17 port 5001 connected with 192.168.0.136 port 46060
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.7 sec  62.1 MBytes  48.8 Mbits/sec

Клиент:

[uer@client]$ iperf -c 192.168.0.17

Client connecting to 192.168.0.17, TCP port 5001 TCP window size: 45.0 KByte (default)

[  3] local 192.168.0.136 port 46060 connected with 192.168.0.17 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.3 sec  62.1 MBytes  50.8 Mbits/sec

Определение скорости интернет-соединения

Установка:

# apt-get install speedtest-cli

Тест:

$ speedtest-cli

Утилита проверит скорость до ближайшего сервера и выведет скорость загрузки и скачивания.

Анализ сети с использованием Wireshark

Установка и запуск

Установка:

# apt-get install wireshark

Запуск:

$ beesu wireshark

Сценарии использования

Проверка HTTP-трафика

Введите http в поле фильтра и нажмите «Применить». Затем запустите браузер и перейдите на любой сайт:

Wireshark start1.png

Чтобы начать новый анализ, остановите захват в реальном времени и отредактируйте фильтр параметров съемки.

Проверка трафика HTTP с заданного IP-адреса

Чтобы осуществить проверку, добавим в фильтр для отслеживания HTTP-трафика между локальным компьютером и 192.168.0.1 параметр ip.src:

ip.src==192.168.0.1&&

Wireshark start2.png

Проверка HTTP-трафика на заданный IP-адрес

Этот пункт тесно связан с советом №2. Но в этом случае мы будем использовать параметр ip.dst как часть фильтра захвата:

ip.dst==192.168.0.108&&http

Wireshark start3.png

Объединяя советы №2 и №3, Вы можете использовать ip.addr в правиле фильтрации вместо ip.src или ip.dst.

Мониторинг трафика Apache и MySQL в сети

Эта функция может Вам пригодиться при необходимости проверить трафик, который будет соответствовать определенным условиям. К примеру, чтобы контролировать трафик на портах TCP 80 (веб-сервер) и 3306 (сервер базы данных MySQL / MariaDB), можно использовать условие OR в фильтре захвата:

tcp.port==80||tcp.port==3306

Wireshark start4.png

В советах №2 и №3 символ || и слово or производят одинаковые операции. То же самое справедливо для символов && и слова and.

Исключение пакетов с заданными IP-адресами

Чтобы исключить пакеты, не соответствующие правилам фильтра, используйте ! и заключите правило в круглые скобки. Например, чтобы исключить отправляемые пакеты или направляющиеся к заданному IP-адресу, Вы можете использовать:

!(ip.addr == 192.168.0.10)

Мониторинг трафика локальной сети (192.168.0.0/24)

Это правило фильтра позволит отображать только локальный трафик и исключать различные пакеты (как адресованные, так и поступающие из Интернета):

ip.src==192.168.0.0/24 and ip.dst==192.168.0.0/24

Wireshark start5.png

Отслеживание содержания в TCP conversation

  • Статистика-Диалоги
  • Протоколы - отмечаем TCP
  • Снимите галочку "Ограничить соотиветственн..."
  • Выбираем пакет
  • Жмем "Отслеживание трафика"
  • Показать данные как > YAML


Wireshark start6.png

Изменение правил раскраски

Наверняка Вы уже заметили, что каждая строка в окне захвата окрашена. Если Вы хотите изменить эти настройки, перейдите в Просмотр

Wireshark start7.png

Сохранение Capture в файл

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

Wireshark start8.png

Источники