Что такое интернет-пакеты и почему они могут теряться: способы проверки

Что такое анализ локальной сети

Комплекс мер по изучению параметров соединения между компьютерами в домашней или корпоративной сети называется анализом локальной сети (АЛС). Процесс включает в себя:

  • измерение скорости сети;
  • просмотр IP-адресов подключённых устройств;
  • анализ трафика сети — процесс, который позволяет выявить конфликтную машину или неисправность паутины в определённом узле.

Эта процедура может обнаружить вредоносное программное обеспечение и изолировать его распространение на всю сеть. Поэтому АЛС стоит проводить даже в профилактических целях.

Что такое пакеты и как они теряются

Пакет — небольшой блок информации, которая передается через сетевые протоколы. Передающее устройство отсылает запрос принимающему и после этого осуществляется пересылка данных. Именно по такому принципу работают локальные и глобальные сети.

Если в работе сетевых устройств появляются неполадки, часть информации теряется и не доходит до точки назначения. Это приводит к следующим последствиям:

  • медленно открываются страницы;
  • не грузятся картинки;
  • тормозят видео;
  • не скачиваются файлы.

Все вышеперечисленные проблемы свидетельствуют о разрывах соединения.

Kismet

Kismet — это отличный инструмент для поиска и отладки проблем в ЛС. Его специфика заключается в том, что программа может работать даже с беспроводными сетями, анализировать их, искать устройства, которые настроены неправильно, и многое другое.

Программа также распространяется бесплатно и имеет открытый код, но сложный в понимании интерфейс немного отталкивает новичков в области анализа трафика. Однако подобный инструмент всё больше становится актуальным из-за постепенного отказа от проводных соединений. Поэтому чем раньше начнёшь осваивать Kismet, тем скорее получишь от этого пользу.

Manageengine opmanager

Многофункциональное приложение, позволяющее управлять интернет соединением. Благодаря встроенным функциям пользователи смогут заниматься мониторингом и анализом пропускной способности. Также ManageEngine OpManager позволяет узнать точную причину появления потери пакетов.

Networkminer

NetworkMiner — это продвинутое программное решение для поиска проблем в сети через анализ трафика. В отличие от других приложений, NetworkMiner анализирует не сам трафик, а адреса, с которых были отправлены пакеты данных. Поэтому и упрощается процедура поиска проблемного узла. Инструмент нужен не столько для общей диагностики, сколько для устранения конфликтных ситуаций.

Программа разработана только для Windows, что является небольшим минусом. Интерфейс также желает лучшего в плане восприятия данных.

Провести полный анализ сети можно как штатными, так и сторонними способами. А полученные данные помогут исправить возможные неполадки, недочёты и конфликты.

Wireshark

Wireshark — это новый игрок на рынке сетевого анализа трафика. Программа имеет довольно простой интерфейс, понятное диалоговое окно с выводом данных, а также множество параметров для настройки. Кроме того, приложение охватывает полный спектр данных сетевого трафика, потому является унитарным инструментом для анализа без необходимости добавлять в функционал программы лишние утилиты.

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

Возможно, приложению не хватает визуализации в плане диаграмм и таблиц, но минусом это назвать сложно, так как можно не отвлекаться на просмотр картинок и напрямую знакомиться с важными данными.

Анализ pcap-файлов

Обычно я использую Wireshark для выяснения причин сетевых неполадок. Последовательность действий, выполняемая в ходе решения подобных задач, выглядит так:

  1. Захват пакетов с помощью tcpdump (обычно — с помощью команды наподобие sudo tcpdump port 443 -w output.pcap).
  2. Копирование pcap-файла на рабочий ноутбук (scp host:~/output.pcap .).
  3. Открытие pcap-файла с помощью Wireshark (wireshark output.pcap).


Как видите, всё очень просто. Однако, после того, как pcap-файл открыт в программе, у вас может возникнуть закономерный вопрос о том, что со всем этим делать. Поговорим об этом.

Анализ tcp-соединений

Часто, когда я анализирую в Wireshark некую ситуацию, мне нужно проверить какое-то конкретное TCP-соединение, с которым, по какой-то причине, что-то не так. Благодаря Wireshark можно проанализировать весь жизненный цикл отдельного TCP-соединения и выяснить причины неправильного поведения системы.

Сделать это можно, щёлкнув правой кнопкой мыши по интересующему вас пакету и выбрав в контекстном меню команду Conversation filter > TCP.

Начало анализа TCP-соединения

После этого Wireshark покажет другие пакеты из того же TCP-соединения, к которому принадлежит тот пакет, по которому вы щёлкнули. На рисунке ниже можно видеть пример успешного SSL-соединения — тут присутствуют пакеты client hello, service hello, certificate, server key exchange, которые используются для установления SSL-соединений.

Анализ TCP-соединения

Рассматриваемую здесь методику анализа TCP-пакетов мне пришлось использовать в день написания этой статьи, на работе. Некоторые соединения сбрасывались, и я заметила, что после отправки пакета client hello клиент отправлял пакет FIN ACK, который завершал TLS-соединение.

Выше описана весьма типичная для меня схема работы с Wireshark. Обычно в соединении участвуют клиент и сервер, и что-то идёт не так либо на клиенте, либо на сервере. Это может быть, например, какой-нибудь сбой или ошибка в настройках системы. В результате Wireshark оказывает мне просто бесценную помощь в деле определения виновника проблем, помогая выяснить — клиент это или сервер.

Беспроводные и проводные сети

Потеря пакетов может зависеть и от типа используемой сети. Беспроводные считаются наиболее уязвимыми. Именно при их использовании чаще всего появляются проблемы с интернетом. Поэтому многие люди предпочитают пользоваться проводным соединением. Он работает в разы стабильнее.

Важно! Потеря данных может случаться и при использовании проводных сетей. Чаще всего такое происходит из-за повреждений кабеля.

Диагностика разрешения имен (nslookup, dig)

Разобравшись с сетевой связностью и маршрутизацией приходим к следующему этапу — разрешение доменных имен. В большинстве случаев в работе с удаленными сервисами мы не используем IP-адреса, а указываем доменные имена удаленных ресурсов. За перевод символических имен в IP-адреса отвечает служба DNS — это сеть серверов, которые содержат актуальную информацию о соответствии имен и IP в пределах доверенных им доменных зон.

Способы выяснения какой DNS-сервер использует наш сервер различаются в зависимости от используемой версии и дистрибутива ОС Linux. Например, если ОС используется Network Manager для управления сетевыми интерфейсами (CentOS, RedHat и др.), может помочь вывод команды nmcli:

Команда nmcli
Скриншот №7. Команда nmcli

В настройках сетевого интерфейса, в разделе DNS configuration, мы увидим IP-адрес сервера. В Ubuntu 18.04 и выше, использующих Netplan, используем команду systemd-resolve –status:

Команда systemd-resolve --status
Скриншот №8. Команда systemd-resolve –status

Проверить работу сервиса разрешения имен нам помогут утилиты nslookup или dig. Функционально они почти идентичны: G-вывод утилиты dig содержит больше диагностической информации и гибко регулируется, но это далеко не всегда нужно. Поэтому используйте ту утилиту, которая удобна в конкретной ситуации. Если эти команды недоступны, потребуется доставить пакеты на CentOS/RedHat:

yum install bind-utils

для Debian/Ubuntu:

sudo apt install dnsutils

Тестовые запросы
Скриншот №9. Тестовые запросы

Аналогичный запрос утилитой nslookup выдает более компактный вывод, но вся нужная сейчас информация в нем присутствует.

Что же делать, если в ответе отсутствует IP-адрес? Возможно, DNS-сервер недоступен. Для проверки можно отправить тестовый запрос на другой DNS-сервер. Обе утилиты позволяют эти сделать. Направим тестовый запрос на DNS-сервер Google:

Диагностика сетевой связности (ping, arp, traceroute)

В данной статье мы будем опираться на использование протокола IP версии 4. Согласно стандартам, определяющим работу этого протокола, каждое устройство, подключенное к сети, должно иметь как минимум IP-адрес и маску подсети — параметры, которые позволяют уникально идентифицировать устройство в пределах определенной сети. В такой конфигурации устройство может обмениваться сетевыми пакетами с другими устройствами в пределах той же самой логической сети. Если к этому набору параметров добавить адрес шлюза по умолчанию — наш сервер сможет связываться с хостами, находящимися за пределами локального адресного пространства.

В случае каких-либо сетевых проблем в первую очередь проверяем, не сбились ли настройки сетевого интерфейса. Например, команды ipaddr или ifconfig выведут IP-адрес и маску сети:

Проверки настроек сетевого интерфейса
Скриншот №1. Проверки настроек сетевого интерфейса

В выводе команды виден перечень сетевых интерфейсов, распознанных операционной системой. Интерфейс lo — это псевдоинтерфейс (loopback). Он не используется в реальных взаимодействиях с удаленными хостами, а вот интерфейс с именем ens192 — то, что нам нужно (именование сетевых интерфейсов различается в разных ветках и версиях ОС Linux). IP-адрес и маска сети, назначенные этому интерфейсу, указаны в поле inet — /24 после адреса обозначают 24-битную маску 255.255.255.0.

Теперь проверим, указан ли шлюз по умолчанию. Команды iproute или route покажут имеющиеся маршруты:

Проверка маршрута
Скриншот №2. Проверка маршрута

В таблице маршрутизации мы видим, что имеется маршрут по умолчанию (обозначается либо ключевым словом default, либо адресом 0.0.0.0). Все пакеты, предназначенные для внешних сетей, должны направляться на указанный в маршруте адрес через обозначенный сетевой интерфейс.

Синтаксис команды ping IP/имя опции:

Синтаксис команды
Скриншот №3. Синтаксис команды

В данном случае видим, что на оба сетевых пакета, отправленных на адрес нашего шлюза по умолчанию, получены ответы, потерь нет. Это значит, что на уровне локальной сети со связностью все в порядке. Помимо количества полученных/потерянных сетевых пакетов мы можем увидеть время, которое было затрачено на прохождение запроса и ответа – параметр RTT (Round Trip Time). Этот параметр может быть очень важен при диагностике проблем, связанных с нестабильностью связи и скоростью соединения.

:/>  Использование редактора реестра с умом | remontka.pro

Часто используемые параметры:

  • ping –c количество — указать количество пакетов, которое будет отправлено адресату (по умолчанию пакеты отправляются до тех пор, пока пользователь не прервет выполнение команды. Этот режим можно использовать, чтобы проверить стабильность сетевого соединения. Если параметр RTT будет сильно изменяться в ходе проверки, значит где-то на протяжении маршрута есть проблема);
  • ping –s количество — указать размер пакета в байтах. По умолчанию проверка производится малыми пакетами. Чтобы проверить работу сетевых устройств с пакетами большего размера, можно использовать этот параметр;
  • ping –I интерфейс — указать сетевой интерфейс, с которого будет отправлен запрос (актуально при наличии нескольких сетевых интерфейсов и необходимости проверить прохождение пакетов по конкретному сетевому маршруту).

В случае, если при использовании команды ping пакеты от шлюза (или другого хоста, находящегося в одной локальной сети с сервером-отправителем) в ответ не приходят, стоит проверить сетевую связность на уровне Ethernet. Здесь для коммуникации между устройствами используются так называемые MAC-адреса сетевых интерфейсов. За разрешение Ethernet-адресов отвечает протокол ARP (Address Resolution Protocol) и с помощью одноименной утилиты мы можем проверить корректность работы на этом уровне. Запустим команду arp –n и проверим результат:

Команда arp –n
Скриншот №4. Команда arp –n

Команда выведет список IP-адресов (так как был использован аргумент –n), и соответствующие им MAC-адреса хостов, находящиеся в одной сети с нашим сервером. Если в этом списке есть IP, который мы пытаемся пинговать, и соответствующий ему MAC, значит сеть работает и, возможно, ICMP-пакеты, которые использует команда ping, просто блокируются файрволом (либо со стороны отправителя, либо со стороны получателя). Подробнее об управлении правилами файрвола рассказано здесь и здесь.

Часто используемые параметры:

  • arp –n — вывод содержимого локального arp-кэша в числовом формате. Без этой опции будет предпринята попытка определить символические имена хостов;
  • arp –d адрес — удаление указанного адреса из кэша. Это может быть полезно для проверки корректности разрешения адреса. Чтобы убедиться, что в настоящий момент времени адрес разрешается корректно, можно удалить его из кэша и снова запустить ping. Если все работает правильно, адрес снова появится в кэше.

Если все предыдущие шаги завершены корректно, проверяем работу маршрутизатора — запускаем ping до сервера за пределами нашей сети, например, 8.8.8.8 (DNS-сервис от Google). Если все работает корректно, получаем результат:

Проверка работы маршрутизатора
Скриншот №5. Проверка работы маршрутизатора

В случае проблем на этом шаге, нам может помочь утилита traceroute, которая используя ту же логику запросов и ответов помогает увидеть маршрут, по которому движутся сетевые пакеты. Запускаем traceroute 8.8.8.8 –n и изучаем вывод программы:

Утилита traceroute
Скриншот №6. Утилита traceroute

Первым маршрутизатором на пути пакета должен быть наш локальный шлюз по умолчанию. Если дальше него пакет не уходит, возможно проблема в конфигурации маршрутизатора и нужно разбираться с ним. Если пакеты теряются на дальнейших шагах, возможно, есть проблема в промежуточной сети. А, возможно, промежуточные маршрутизаторы не отсылают ответные пакеты. В этом случае можно переключиться на использование другого протокола в traceroute.

Часто используемые опции:

  • traceroute –n — вывод результата в числовом формате вместо символических имен промежуточных узлов;
  • traceroute –I — использование ICMP-протокола при отслеживании маршрута. По умолчанию используются UDP-датаграммы;
  • traceroute –s адрес— указать адрес источника для исходящего сетевого пакета;
  • traceroute –i интерфейс— указать сетевой интерфейс, с которого будут отправляться пакеты.

Еще глубже

Если посмотреть в TCP пакет (или сегмент если быть точным), то можно увидеть там

Stream index

, который начинается обычно с нуля.


Само поле будет называться tcp.stream.

По нему можно сделать правый клик и создать фильтр.

Таким образом можно фильтровать нужные соединения.

Еще один способ – сделать правый клик на самом пакете, выбрать Conversation Filter и создать фильтр для l2 l3 l4 уровня соответственно.

В итоге мы опять увидим взаимодействие двух хостов.

И третий вариант — это одна из самых интересных фич — Follow TCP Stream.Для того чтобы его задействовать, нужно опять таки кликнуть правой кнопкой мыши на пакете и выбрать “Follow TCP Stream”. Появится окно, где будет наглядно продемонстрирован весь обмен между двумя узлами.

Если же зайти в меню Statistics – Conversations, то, выбирая закладки, можно увидеть статистику по таким “разговорам” и различные сессии, при этом можно отсортировать их по различным колонкам, например, по количеству переданных данных.

И прямо в этом окне можно правой кнопкой взывать контекстное меню и опять же применить как фильтр.

Использование wireshark для изучения сетевых протоколов

В этом материале встречаются некоторые термины, которые можно отнести к чему-то вроде жаргона сетевых специалистов. Например — кадр (frame), TCP-порт (TCP port), DNS-ответ (DNS response), IP-адрес источника (source IP address), пакет

client hello

SSL-соединения (SSL client hello). Одной из причин их использования является тот факт, что Wireshark, определённо, не пытается оградить пользователя от тонкостей внутреннего устройства сетевых технологий. Новичка такое положение дел может, поначалу, заставить задуматься о том, что Wireshark — это программа не для него, а лишь для опытных сетевых специалистов.

У такой ориентированности Wireshark на низкоуровневые сетевые механизмы, однако, есть серьёзный плюс. Дело в том, что работая с этой программой, можно узнать что-то новое о сетевых протоколах. Например, я не особенно много знаю о внутренних механизмах протокола TLS/SSL.

Однако, анализируя трафик в Wireshark, я обратила внимание на то, что первые два пакета SSL-соединения — это client hello и server hello. В результате протокол, который, если не вникать в детали его работы, кажется чем-то таинственным и недоступным для понимания, начинает обретать более понятную форму, превращается в нечто такое, что можно понять и проанализировать.

Как посмотреть список ip-адресов, подключённых к лс

Иногда возникает необходимость узнать информацию о подключённых к сети устройствах. В основном это касается беспроводных маршрутизаторов, к которым можно подключиться незаметно и «воровать» трафик. Посмотреть список устройств можно сторонними ПО и штатными средствами (веб-админкой маршрутизатора).

С первым всё довольно просто: существует простейшая утилита под названием Wireless Network Watcher. Она, как IP-сканер локальной сети, прекрасно справляется с анализом адресатов сети и выводит на экран всю доступную информацию о них.

Однако у программы есть два минуса:

  • для её работы необходимо проводное подключение к роутеру;
  • инструментарий программы ограничивается только выводом информации. Если нарушитель будет обнаружен, она ничего не сможет с ним сделать. То же касается и аналогичных программ. Заблокировать доступ к сети можно только внутри веб-админки роутера.

Для просмотра информации о подключённых устройствах через веб-админку маршрутизатора необходимо сначала её открыть:

  1. На тыльной стороне устройства знакомимся с реквизитами для входа.
  2. Вводим данные в браузере и авторизуемся в сервисе управления.
  3. В свойствах админки находим вкладку «Беспроводной режим», а в ней пункт «Статистика беспроводного режима».
  4. Проверяем IP-адресы всех известных устройств, остальные же можно «Запретить». Только не стоит забывать о подключённых телевизорах, телефонах и планшетах, они также имеют собственный индикатор в этой вкладке настроек.

Команда ping

С помощью этой команды можно проверить доступность указанного узла используя специальный протокол ICMP. Принцип ее работы заключается в следующем: получив команду ping, маршрутизатор отправляет запросы к указанному узлу, который, в свою очередь, отправляет его обратно (по тому адресу, откуда он пришел).

Результаты команды ping могут выглядеть, например, так:

PING 217.69.139.201 (217.69.139.201): 56 data bytes
64 bytes from 217.69.139.201: icmp_seq=0 ttl=62 time=8.776 ms
64 bytes from 217.69.139.201: icmp_seq=1 ttl=62 time=8.676 ms
64 bytes from 217.69.139.201: icmp_seq=2 ttl=62 time=10.024 ms

--- 217.69.139.201 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 8.676/9.159/10.024/0.613 ms

Из этого примера видно, что узел назначения исправно отвечает на запросы, потерь пакетов нет. Рассмотрим еще один пример:

PING www.jnto.go.jp (210.165.34.236): 56 data bytes
64 bytes from 210.165.34.236: icmp_seq=0 ttl=241 time=325.734 ms
64 bytes from 210.165.34.236: icmp_seq=1 ttl=241 time=325.894 ms
64 bytes from 210.165.34.236: icmp_seq=2 ttl=241 time=334.896 ms

--- www.jnto.go.jp ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 325.734/328.841/334.896/4.282 ms

В данном случае из результатов видно, что узел назначения доступен, потери пакетов нет, но время ответа несколько увеличено по причине географической удаленности: узел назначения находится в Японии, а запросы отправлялись из Санкт-Петербурга.

Иногда может иметь место и такая ситуация:

PING 89.108.112.69 (89.108.112.69): 56 data bytes

--- 89.108.112.69 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss

Результаты работы команды в данном случае показывают, что ни один из пакетов не дошел до цели и что узел, скорее всего, недоступен, или не отвечает на ICMP-запросы.

:/>  Создаем загрузочную флешку в UltraISO для windows

Таким образом, с помощью запроса ping можно проверить соединение с удаленным узлом. Сам факт успешного возвращения запросов дает основания предполагать, что все устройства на пути от маршрутизатора к указанному узлу работают нормально. Следует отметить, что потеря пакетов может иметь место даже при отсутствии неисправностей: она может быть обусловлена, например, перегруженностью сети.

На основании результатов запроса ping однозначного вывода о наличии неисправности сделать невозможно. Можно лишь выдвинуть предположение, которое нуждается в дополнительной проверке с помощью других инструментов.

Команды для диагностики bgp

BGP (англ. Board Gateway Protocol, протокол граничного шлюза) — это основной протокол динамической маршрутизации в Интернете. Он предназначен для обмена информацией не между отдельными маршрутизаторами, а между автономными системами. Автономной системой, согласно определению, данному в RFC1930, называется система IP-сетей и маршрутизаторов, управляемых одним или несколькими операторами и имеющими отдельную политику маршрутизации с Интернетом. Собственно, Интернет можно рассматривать как набор связанных друг с другом автономных систем.

С помощью BGP-протокола автономные системы сообщают друг другу: (1) о факте своего существования и (2) о том, какие сети могут быть получены через них. Они также собирают информацию о том, как добраться до других сетей в Интернете. Получая информацию о маршрутах до цели назначения, они определяют из них наилучший (на основе правил сети, а не технических метрик) и добавляют в свои таблицы маршрутизации. Именно поэтому BGP-протокол иногда называют клеем, связующим весь Интернет.

Протокол BGP был создан во времена, когда в Интернете не существовало многих проблем и опасностей, которые существуют сегодня, и он характеризуется повышенной уязвимостью. Ошибки в работе протокола, которые могут быть вызваны как техническими проблемами конкретной автономной системы, так и намеренными действиями злоумышленников, могут приводить к очень серьезным последствиям (более подробно об этом можно прочитать, например, здесь).

Проверить работу BGP-протокола можно при помощи команд bgp route detail, bgp route terse и bgp summary. Результатом работы команды bgp route detail является таблица маршрутизации c перечнем всех автономных станций на пути движения пакетов. Команда bgp terse выводит на экран сокращенный вариант таблицы маршрутизации. Команда bgp summary выводит список всех автономных систем, с которыми есть связность у наших маршрутизаторов.

Лучшие программы для учета интернет-трафика

Мощная программа для слежения за трафиком с многофункциональным фаерволом. С помощью GlassWire можно не только завершать нежелательные активности, но и блокировать доступ в Сеть для выбранных приложений. Поддерживается возможность администрирования на уровне сетевого адаптера.

Все данные в программе визуализируются в виде понятных графиков. Предупреждения можно просмотреть в отдельной панели нотификации. Доступна возможность построения сведенных отчетов, в которых можно узнать, например, объем месячного трафика.

Бесплатная версия GlassWire включает ограничения по длительности хранения данных, также в ней недоступен ряд функций вроде поддержки Wi-Fi-сетей. Стоимость лицензионной версии начинается от 49 долларов.

Небольшое отступление

Некоторое время назад появился сайт

Это тот самый сниффер Wireshark, но реализованный в виде онлайн-сервиса. Очевидно, что с его помощью не удастся захватывать сетевой трафик, но выполнять анализ дампа трафика – вполне. Загрузив туда через форму PCAP-файл на анализ, можно будет получить четкую последовательность пакетов, в которой всё данные будут разбиты на понятные поля в зависимости от протокола. В общем, тот же Wireshark, но немного облегченный и доступный из любого браузера.

Ныряем глубже

Достаточно частая ситуация, когда возникают жалобы на медленную работу сети, причин этого может быть множество.


Попробуем разобраться, в чем может быть причина, и рассмотрим два способа.

Первый состоит в добавлении колонки

TCP delta

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

Time since previous frame in this TCP frame

, правый клик и выбираем

Apply as Column

. Появится новая колонка.


На ней можно кликнуть правой кнопкой мыши и выбрать режим сортировки, например,

Sort Descending

И сразу же рассмотрим второй способ.Относительно недавно (в версии 1.10.0) появился фильтр tcp.time_delta, который, собственно, учитывает время с момента последнего запроса.

Если клиент делает запрос и получает ответ через 10 миллисекунд, и клиент говорит, что у него все медленно работает, то, возможно, проблема у самого клиента.Если же клиент делает запрос и получает ответ через 2-3 секунды, тут уже, возможно, проблема кроется в сети.

Онлайн тест через сервис «freeola»

Что такое интернет-пакеты и почему они могут теряться: способы проверки
Сервис «Freeola» часто используется для мониторинга работоспособности сети

Еще один способ онлайн проверки потери пакетов интернета — использование сервиса Freeola. Пользоваться им достаточно просто. Необходимо зайти на сайт и нажать на кнопку «Start Test Now».

Когда проверка будет завершена необходимо обратить внимание на параметр «Packets Lost». В нем отображается информация о количестве потерянных данных. В идеале это значение не должно быть больше 0.

Определение причины потери пакета

Есть несколько действенных советов, которые помогут определить, из-за чего теряются пакеты. Для начала надо проверить работоспособность Ethernet-соединения. Надо внимательно осмотреть кабель и убедиться в отсутствии механических повреждений. Если с ним все в норме, проверяются разъемы маршрутизатора и коммутаторов. Они должны быть целыми.

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

Поиск пакетов


Wireshark поддерживает мощный язык запросов. Это значительно упрощает поиск конкретных пакетов в списках. Обычно я, при работе с программой, использую очень простые запросы. Вот несколько примеров:

Язык запросов Wireshark обладает гораздо большими возможностями, нежели язык запросов

tcpdump

(и, кроме того, поддерживает автозавершение по нажатию клавиши TAB). В результате часто я применяю следующую последовательность действий: захватываю большой объём пакетов с помощью

tcpdump

(скажем, нечто вроде всех пакетов с 443-го порта), а затем тщательно изучаю их с использованием Wireshark.

Проблемы оборудования

Что такое интернет-пакеты и почему они могут теряться: способы проверки
Неисправность сетевого оборудования часто приводит к появлению разрывов связи

Работа сети может ухудшиться из-за неисправности используемого оборудования. Также потери данных могут наблюдаться из-за использования старых моделей коммутаторов, маршрутизаторов и сетевых плат. Поэтому, чтобы избежать проблем, надо пользоваться только современным оборудованием.

Проверка при помощи командной строки: использование tracert

Что такое интернет-пакеты и почему они могут теряться: способы проверки
Команда tracert позволяет проверить работу интернета

Наиболее эффективной считается проверка интернета через командную строку. С ее помощью можно точно узнать, сколько пакетов теряется в процессе передачи данных. Чтобы проверять стабильность работы сети, необходимо выполнить следующие действия:

  1. Нажать комбинацию клавиш Win R.
  2. В появившемся окне ввести «cmd».
  3. В командной строке Windows прописать «tracert 8.8.8.8».

После ввода этой команды в окне появится информация о маршруте передачи данных и о том, теряются ли данные.

Программы, помогающие провести анализ трафика

Анализ трафика — это сложный процесс, который должен быть известен любому профессионалу в IT-индустрии, сисадмину и другим специалистам в области. Процедура оценки передачи пакетов больше похожа на искусство, чем на элемент технического управления. Одних данных от специальных программ и инструментов тут недостаточно, необходима ещё интуиция и опыт человека. Утилиты в этом вопросе лишь инструмент, что показывает данные, остальное должен делать уже ваш мозг.

Просмотр сведений о продолжительности tcp-соединений


Иногда мне нужно обратить особое внимание на исследование медленных TCP-соединений. Как это сделать, при условии, что в имеющемся у меня файле есть записи о тысячах пакетов? Как найти медленные TCP-соединения?

Если выбрать в главном меню программы пункт Statistics, а в нём — команду Conversations, Wireshark предоставит нам замечательный набор статистических сведений.

Статистические сведения

В частности здесь, в колонке Duration, можно увидеть длительность TCP-соединений, выявить самые длительные из них и внимательно их изучить. Это весьма полезная возможность.

Просмотр содержимого пакетов

В Wireshark имеется просто восхитительный режим просмотра подробных сведений о пакете, с помощью которого можно разобраться в содержимом любого пакета. Возьмём, например, пакет с сообщением

client hello

из предыдущего примера. Это — первый пакет SSL-соединения, клиент с его помощью как бы говорит: «Привет! Вот он я!».

Wireshark даёт сетевому администратору два невероятно полезных инструмента для исследования содержимого пакетов. Первый — это режим просмотра, в котором можно раскрывать заголовки, имеющиеся у пакета (например — Ethernet-заголовок, IP-заголовок, TCP-заголовок) и просматривать их содержимое.

Анализ заголовков пакета

Решение проблем с соединением

Что такое интернет-пакеты и почему они могут теряться: способы проверки
Paessler PRTG позволяет мониторить состояние соединения

Особенности решения проблем с интернетом во многом зависят от причин их появления. Например, если они появились из-за сбоев в программах, придется обновить или переустановить ПО. В случаях, когда проблема вызвана неисправностью оборудования, придется заменить его на новое.

Дополнительная информация! Если не удается самостоятельно восстановить нормальную работе интернета, необходимо позвонить по телефону провайдеру. Они должны выслать специалиста, который сможет установить точную причину потери пакетов.

Многие пользователи сталкиваются с ситуациями, когда скорость передачи данных резко падает. Это случается из-за потери пакетов. Чтобы решить данную проблему, надо разобраться как проверить интернет через cmd и что нужно сделать для решения проблем.

С помощью «командной строки»

Терминал «Командной строки» — уникальный инструмент для управления компьютером и вывода необходимой информации пользователю. Консоль также может помочь с АЛС, в частности вывести отчёт о скорости доступа в ЛС:

  1. Чтобы запустить «Командную строку», открываем меню «Пуск», переходим в папку «Служебные» и кликаем по иконке «Командная строка».
  2. В терминале прописываем первую команду ipconfig /all. Внимательно смотрим на выведенную информацию и находим строку «Основной шлюз», где будет указан сетевой адрес роутера. Это значение нам понадобится для дальнейших действий.
  3. Запускаем команду Ping, указывая адрес шлюза (в данном случае команда имеет вид Ping 192.168.137.1), и ожидаем несколько секунд, пока произойдёт обмен пакетов с маршрутизатором. Результат будет опубликован почти мгновенно, сразу же после обработки данных.
:/>  Отправка сообщений электронной почты из командной строки, с помощью утилиты Blat.exe ~ Страницы Интернета

Если максимальное значение будет больше 1500 мсек даже в беспроводной сети, имеет смысл провести анализ трафика, а также проверить каждый компьютер на наличие вредоносного ПО антивирусными программами.

С помощью сторонних программ

Не только с помощью «Командной строки» можно узнать скорость внутри ЛС. Существуют дополнительные инструменты в виде сторонних программ. По интернету их гуляет огромное количество и большинство схожи между собой как по интерфейсу, так и по выводимым данным.

  1. Скачиваем, устанавливаем и запускаем программу.
  2. На главной странице приложения нажимаем кнопку Start Test.
  3. В течение пары секунд получаем исчерпывающую информацию о возможностях передачи данных в ЛС.

Также для анализа можно использовать другие утилиты, к примеру, Iperf или LAN Bench.

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

LAN Bench — это минималистическая утилита, похожая на LAN Speed Test. Ею очень легко мониторить скорость и пинг в сети, достаточно открыть интерфейс и нажать кнопку Test. Ниже сразу начнут появляться результаты.

Со временем приходит опыт

После некоторого времени, проведенного за захватом разнообразного трафика, можно заметить какую-то шарообразную кнопку в нижнем левом углу, которая еще иногда меняет цвет.

Нажатие на эту кнопку приведет к открытию окна Expert Infos.Того же результата можно добиться, пройдя в меню Analyze – Expert Info.

В этом окне будет содержаться информация по найденным пакетам, разбитая на группы Errors, Warnings, Notes и Chats.Цветовая раскраска для этих групп выглядит следующим образом:Ошибки — красный цвет Предупреждения — желтый Примечания — сине-зелёный (cyan) Чат — серый

Wireshark содержит в себе мощный анализатор и умеет автоматически обнаруживать большое количество проблем, возникающих в сети.Как вы уже могли заметить, буквально везде можно использовать фильтры и Expert Info не является исключением.Для того чтобы создать такой фильтр, нужно использовать конструкцию expert.severity.Например, expert.severity==error.

Способ 4: тест скорости интернета на lumpics

Этот вариант иногда тоже оказывается подходящим, поскольку покажет время задержки и то, как менялась скорость сети во время всего анализа, благодаря чему тоже можно отследить стабильность соединения.

  1. В шапке нашего сайта раздел «Интернет-сервисы».
  2. Переход к онлайн-сервису для проверки стабильности сети на Lumpics

  3. В блоке «Наши сервисы» выберите «Тест скорости интернета».
  4. Поиск онлайн-сервиса для проверки стабильности сети на Lumpics

  5. Запустите проверку, нажав «Вперед».
  6. Запуск средства проверки стабильности сети на Lumpics

  7. Ожидайте завершения проверки, следя за скачками пинга и изменениями в скорости.
  8. Результат проверки стабильности сети на Lumpics

Способ 5: онлайн-сервис ping-сanbeuseful

Напоследок предлагаем ознакомиться с онлайн-сервисом Ping-СanBeUseful, функциональность которого сосредоточена исключительно на показе пинга во время всего анализа сети. Для его использования выполните такие действия:

Перейти к онлайн-сервису Ping-СanBeUseful

  1. Щелкните по ссылке выше, чтобы перейти к онлайн-сервису Ping-СanBeUseful, где сразу же можно нажать «Start».
  2. Запуск проверки стабильности сети через онлайн-сервис Ping-СanBeUseful

  3. Время проверки неограниченно, поэтому вы можете отслеживать стабильность на протяжении необходимого количества времени, а затем нажать на «Stop» для завершения. По графику будет несложно понять, где показатели находятся на приемлемом уровне, а когда меняются.
  4. Процесс проверки стабильности сети через онлайн-сервис Ping-СanBeUseful

  5. Дополнительно слева отображаются минимальные, средние и максимальные показатели, которые тоже можно использовать в своих целях.
  6. Результат проверки стабильности сети через онлайн-сервис Ping-СanBeUseful

Убираем заусенцы

Довольно часто при работе с Wireshark возникает ошибка

IP checksum offload

– ошибка контрольной суммы заголовка IP пакета.

Современные сетевые карты насколько умные, что сами считают контрольную сумму, зачем это делать на уровне стека TCP/IP программно, если можно делать хардварно.А Wireshark натурально перехватывает пакеты, до того как они попадают в сеть.И до того как эта сумма была просчитана и была добавлена в заголовок пакета.

Соответственно есть два пути решения этой проблемы — выключать функцию offload в настройках сетевой карты или в настройках сниффера указать, чтобы он не обращал внимание на это значение.Хардваные функции зачастую лучше софтварных, в основном из-за скорости обработки (в железе обычно выше) поэтому лучше изменить настройки самого сниффера.

Перед тем как захватывать трафик нужно определиться с тем, что, собственно, нужно захватывать.Разместить анализатор трафика можно в нескольких местах:

Фильтруем поток

Wireshark содержит два вида фильтров – захвата (

Capture Filters

) и отображения (

Display Filters


Вначале рассмотрим

Capture Filters

Как можно догадаться по названию, они служат для фильтрации еще на этапе захвата трафика.

Но в таком случае, безусловно, можно безвозвратно потерять часть нужного трафика.

Фильтр представляет собой выражение, состоящее из встроенных значений, которые при необходимости могут объединяться логическими функциями (and, or, not).


Для того, чтобы его задействовать, нужно зайти в меню

Сapture

, затем

Options

, и в поле

Capture Filter

набрать, например,

host 8.8.8.8

(или, например,

net 192.168.0.0./24

Так же, конечно, можно выбрать и заранее созданный фильтр (за это отвечает кнопка Capture Filter).В любом из вариантов фильтр появится возле интерфейса, можно жать Start.

Теперь перейдем к Display Filters.Они фильтруют исключительно уже захваченный трафик.Что можно фильтровать? — Практически все — протоколы, адреса, специфические поля в протоколах.Операции, которые можно использовать при построении фильтров:

Как вы, наверное, заметили, в таблице в качестве примеров были разнообразные выражения, достаточно понятные и зачастую говорящие сами за себя.Например, ip.dst – это поле протокола IP.Чтобы увидеть это поле, можно просто посмотреть на пакет, и в нижней части окна можно увидеть его значение, которое потом можно применять в любом фильтре.

И видим, что для построения фильтра, нужно использовать выражение ip.ttl.Если начать набирать фильтр, то после точки автоматически появится список возможных значений:

Чтобы применить фильтр, достаточно нажать enter или кнопку Apply.Само поле для ввода фильтра может менять цвет в зависимости от того, что было набрано.Зеленый цвет означает, что все в порядке. Красный — допущена ошибка, желтый — получен неожиданный результат, потому что существуют другие варианты написания фильтра (например можно написать ip.dst != 8.8.8.

и после нажатия на кнопку ОК фильтр появится как кнопка на панели.

А если кликнуть на расположенную неподалеку кнопку «Expression…», то откроется достаточно мощный конструктор выражений, по которому можно чуть ли не изучать сетевые протоколы. Количество поддерживаемых протоколов постоянно увеличивается.

Как уже упоминалось ранее, можно выделить любой пакет и в контекстном меню выбрать Apply as Filter и в подменю выбрать режим — selected или not selected и соответственно сразу же появится фильтр, который будет показывать только выбранное или наоборот уберет выбранное с экрана.

Таким образом можно гибко выбирать, что видеть на экране, а что — нет.Это может быть определенный ip-адрес, ttl, порт, dns ответ и многое другое.Кроме того, есть два варианта для таких быстрых фильтров — Prepare as Filter и Apply as Filter.

Как можно догадаться по названию — разница заключается в том, что в первом случае только появится в поле для ввода Display Filter, но не применится (удобно, если например, добавлять таким способом несколько фильтров, а затем сразу применить готовый результат), а во втором — сразу же и применится.

Финальная битва

Напоследок рассмотрим как выглядит сканирование портов.

Смотрим на дамп и видим, что вначале происходит ARP запрос и затем непосредственно начинается сканирование. Адрес нашего маршрутизатора 192.168.10.11, сканирование идет с адреса 192.168.10.101

Это, так называемое, SYN сканирование, когда идут SYN-пакеты на указанный диапазон портов. Так как большинство портов закрыто, маршрутизатор отвечает пакетами RST, ACK.Пролистав чуть ниже видим, что открыт telnet (tcp 23).

На это указывает то, что маршрутизатор ответил пакетом SYN, ACK.К слову, для фильтрации портов в сниффере можно использовать конструкции вида: tcp.srcport, tcp.dstport и tcp.port. Для протокола UDP всё аналогично — udp.srcport, udp.dstport, udp.port.

Итоги

Мы пробежались по самым основным частям функционала лучшего анализатора пакетов.


Получилось несколько сумбурно, вероятно, потому что хотелось затронуть как можно больше его возможностей и не упустить ничего важного.

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

Оставьте комментарий

Adblock
detector