Syn sent что означает

netstat (net»work statistics) — утилита командной строки выводящая на дисплей состояние TCP-соединений (как входящих, так и исходящих), таблицы маршрутизации, число сетевых интерфейсов и сетевую статистику по протоколам. Она доступна на всех unix-подобных операционных системах, включая OS X, Linux, Solaris, и BSD, также существует и в основанных на Windows NT операционных системах, начиная с Windows XP вплоть до Windows 10.

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

Следует иметь в виду, что в среде Linux утилита netstat, входящая в пакет net-tools, устарела. Вместо неё следует использовать утилиту ss из пакета iproute2. [1] [2]

Содержание

Синтаксис [ править | править код ]

Использование [ править | править код ]

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

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

Значение по умолчанию для аргумента система — /unix; для аргумента core в качестве значения по умолчанию используется /dev/kmem.

Опции [ править | править код ]

-a Показывать состояние всех сокетов; обычно сокеты, используемые серверными процессами, не показываются.
-A Показывать адреса любых управляющих блоков протокола, связанных с сокетами; используется для отладки.
-b Отображение исполняемого файла, участвующего в создании каждого подключения, или ожидающего порта. Иногда известные исполняемые файлы содержат множественные независимые компоненты. Тогда отображается последовательность компонентов, участвующих в создании подключения, либо ожидающий порт. В этом случае имя исполняемого файла находится снизу в скобках [ ], сверху — компонент, который им вызывается, и так до тех пор, пока не достигается TCP/IP. Заметьте, что такой подход может занять много времени и требует достаточных разрешений.
-i Показывать состояние автоматически сконфигурированных (auto-configured) интерфейсов. Интерфейсы, статически сконфигурированные в системе, но не найденные во время загрузки, не показываются.
-n Показывать сетевые адреса как числа. netstat обычно показывает адреса как символы. Эту опцию можно использовать с любым форматом показа.
-r Показать таблицы маршрутизации. При использовании с опцией -s показывает статистику маршрутизации.
-s Показать статистическую информацию по протоколам. При использовании с опцией -r показывает статистику маршрутизации.
-f семейство_адресов Ограничить показ статистики или адресов управляющих блоков только указанным семейством_адресов, в качестве которого можно указывать:

inet Для семейства адресов AF_INET, или unix Для семейства адресов AF_UNIX.

-I интерфейс Выделить информацию об указанном интерфейсе в отдельный столбец; по умолчанию (для третьей формы команды) используется интерфейс с наибольшим объёмом переданной информации с момента последней перезагрузки системы. В качестве интерфейса можно указывать любой из интерфейсов, перечисленных в файле конфигурации системы, например, emd1 или lo0. -p Отобразить идентификатор/название процесса, создавшего сокет (-p, —programs display PID/Program name for sockets)

Выдаваемая информация [ править | править код ]

Для каждого активного сокета показывается протокол, размер очередей приема и получения (в байтах), локальный и удаленный адрес, а также внутреннее состояние протокола. Символьный формат, обычно используемый для показа адресов сокетов, — это либо:

если имя хоста указано, либо:

если адрес сокета задает сеть, но не конкретный хост. Имена хостов и сетей берутся из соответствующих записей в файле /etc/hosts или /etc/networks.

Если имя сети или хоста для адреса неизвестно (или если указана опция -n), адрес показывается числами. Не указанные или «обобщенные» адреса и порты показываются как «*». Подробнее о соглашениях по именованию в Internet см. страницу справочного руководства inet.

Для сокетов TCP допустимы следующие значения состояния:

CLOSED Закрыт. Сокет не используется.
LISTEN (LISTENING) Ожидает входящих соединений.
SYN_SENT Активно пытается установить соединение.
SYN_RECEIVED Идет начальная синхронизация соединения.
ESTABLISHED Соединение установлено.
CLOSE_WAIT Удаленная сторона отключилась; ожидание закрытия сокета.
FIN_WAIT_1 Сокет закрыт; отключение соединения.
CLOSING Сокет закрыт, затем удаленная сторона отключилась; ожидание подтверждения.
LAST_ACK Удаленная сторона отключилась, затем сокет закрыт; ожидание подтверждения.
FIN_WAIT_2 Сокет закрыт; ожидание отключения удаленной стороны.
TIME_WAIT Сокет закрыт, но ожидает пакеты, ещё находящиеся в сети для обработки
Читайте также:  Машинки для распечатки на принтере

Сетевые структуры данных

Показываемые данные зависят от выбора опции, -i или -r. Если указаны обе опции, netstat выберет -i.

Показ таблицы маршрутизации

Таблица маршрутизации показывает все имеющиеся маршруты (routes) и статус каждого из них. Каждый маршрут состоит из целевого хоста или сети и шлюза (gateway), который используется для пересылки пакетов. Столбец flags (флаги) показывает статус маршрута (U, если он включен), ведёт ли маршрут на шлюз (G), был ли маршрут создан динамически при помощи перенаправления (D), и используется ли адрес индивидуального хоста (H) вместо адреса сети. Например, интерфейс закольцовывания (loopback transport provider) lo0 всегда имеет флаг H.

Прямые маршруты создаются для каждого интерфейса, подключенного к локальному хосту; поле gateway (шлюз) для таких записей показывает адрес выходного интерфейса.

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

Столбец use показывает количество пакетов, посланных по маршруту.

Столбец interface показывает сетевой интерфейс, используемый маршрутом.

Суммарная статистика передачи данных

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

Предупреждения [ править | править код ]

Таблицы ядра могут изменяться по ходу их обработки программой netstat, что приводит к некорректным или неполным результатам.

Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть

Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть

Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-01

Всем привет ранее я начал рассказ про сетевые утилиты системного администратора в статье "Утилита pathping или как диагностировать проблему на маршруте до сайта. Сетевые утилиты 3 часть", движемся дальше и разбираем еще одну утилиту netstat или, как определить какие порты слушает ваш компьютер. Данная программка, будет не заменимым инструментом в багаже софта, любого системного инженера, поможет ему провести быструю диагностику ситуации и обнаружить ряд всевозможных проблем с сервисами и их доступностью.

Команды netstat

Netstat — Отображение активных подключений TCP, портов, прослушиваемых компьютером, статистики Ethernet, таблицы маршрутизации IP, статистики IPv4 (для протоколов IP, ICMP, TCP и UDP) и IPv6 (для протоколов IPv6, ICMPv6, TCP через IPv6 и UDP через IPv6)

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

Открываем командную строку Windows и вводим netstat ?. У вас выскочит справка утилиты.

Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-02

Отображение статистики протокола и текущих сетевых подключений TCP/IP.

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p протокол] [-r] [-s] [-x] [-t]
[интервал]

  • -a Отображение всех подключений и портов прослушивания.
  • -b Отображение исполняемого файла, участвующего в создании
  • каждого подключения или порта прослушивания. Иногда известные исполняемые файлы содержат множество независимых компонентов. Тогда отображается последовательность компонентов, участвующих в создании подключения или порта прослушивания. В этом случае имя исполняемого файла находится снизу в скобках [], сверху находится вызванный им компонент, и так до тех пор, пока не достигнут TCP/IP. Заметьте, что такой подход может занять много времени и требует достаточных разрешений.
  • -e Отображение статистики Ethernet. Может применяться вместе с параметром -s.
  • -f Отображение полного имени домена (FQDN) для внешних адресов.
  • -n Отображение адресов и номеров портов в числовом формате.
  • -o Отображение ИД процесса каждого подключения.
  • -p протокол Отображение подключений для протокола, задаваемых этим параметром. Допустимые значения: TCP, UDP, TCPv6 или UDPv6. Если используется вместе с параметром -s для отображения статистики по протоколам, допустимы следующие значения: IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP или UDPv6.
  • -r Отображение содержимого таблицы маршрутов.
  • -s Отображение статистики по протоколам. По умолчанию статистика отображается для протоколов IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP и UDPv6. Параметр -p позволяет указать подмножество выводимых данных.
  • -t Отображение состояния разгрузки для текущего подключения.
  • -x Отображение подключений, прослушивателей и общих конечных точек NetworkDirect.
  • -y Отображение шаблона подключений TCP для всех подключений. Не может использоваться вместе с другими параметрами. interval Повторное отображение выбранной статистики с паузой между отображениями, заданной интервалом в секундах. Чтобы прекратить повторное отображение статистики, нажмите клавиши CTRL+C. Если этот параметр опущен, netstat напечатает текущую информацию о конфигурации один раз.
Читайте также:  Microsd какая фирма лучше

Давайте посмотрим интересные ключи утилиты netstat. Первое что вводим

и у нас на экране появится статистика сетевых пакетов ethernet.

Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-03

Если добавим ключ -s то получим статистику по протоколам.

Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-04

Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-05

Очень полезно посмотреть все что слушает ваш хост для этого пишем

Вывод команды содержит Тип протокола либо TCP либо UDP, локальный адрес с портом который слушается и внешний адрес с портом и состояние действия.

Для полного понимания информации, предоставляемой этой командой, необходимо понять принципы установки соединения в протоколе TCP/IP. Вот основные этапы процесса установки соединения TCP/IP:

1. При попытке установить соединение клиент отправляет сообщение SYN серверу.

2. Сервер отвечает собственным сообщением SYN и подтверждением (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 или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-06

Если добавить ключ -f то будут разрешаться имена удаленных внешних ресурсов

Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-07

также можно вывести только TCP порты

Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-08

Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-09

Вот такая вот полезная утилиты с которой вы всегда будите знать по каким портам общаются службы на хосте. Читайте далее Утилита TCPView. Как определить какие порты слушает ваш компьютер. Сетевые утилиты 5 часть

Популярные Похожие записи:

5 Responses to Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть

thank you very much, would you weird area for any designers to hide this setting up. i had been possessing a number of difficulties with a new Dreamhost machine and i had not been guaranteed the reason why works out which they modify demonstrating invisible documents automagically, whereas different hosting space we connect to together with Filezilla appear to indicate invisible documents automagically. your own personal article allowed me to figure it available, i really appreciate it.

Читайте также:  Html5 video file not found в браузере

Уважаемый Иван, большое спасибо, это отличная получилась статья! У меня все получилось.

Очень рад, что смог вам помочь!

Добрый день. А как узнать какая программа занимает 80 порт?

Очень просто вы через netstat или tcpView смотрите PID процесса, который висит на порту, далее по PID вычисляете исполняемый файл.

Прежде чем мы сможем обсудить многие детали действия TCP протокола, нам необходимо ввести подробную терминологию. Для поддержания TCP соединения необходимо иметь несколько переменных. Мы решили, что эти переменные будут помещены в соответствующую запись — блок управления передачей (Transmission Control Block – TCB). Среди переменных блока TCB имеются номера местного и чужого сокетов, флаги безопасности и приоритета для данного соединения, указатели буферов посылки и получения, указатели текущего сегмента и очереди повторной посылки. Кроме всего этого в TCB имеются несколько переменных, имеющих отношение к номерам очередей отправителя и получателя.

Нижеприведенные диаграммы могут помочь связать некоторые из этих переменных с местом в очереди

1. — старые номера очереди, которые получили подтверждение

2. — номера очереди для данных, не получивших подтверждения

3. — номера очереди, допущенные к новой передаче

4. — следующие номера очереди, чья передача еще не разрешена

1. — старые номера очереди, которые получили подтверждение

2. — номера очереди, допущенные к очередному этапу получения

3. — следующие номера очереди, еще не получившие разрешения

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

SEG.SEQ — номер очереди для сегмента

SEG.ACK — номер подтверждения для сегмента

SEG.LEN — длина сегмента

SEG.WND — окно для сегмента

SEG.UP — срочный указатель для сегмента

SEG.PRC — приоритет для сегмента

Соединение во время функционирования проходит через серии промежуточных состояний. Это состояния LISTEN, SYN-SENT, SYN-RECEIVED, ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT, а также фиктивное состояние CLOSED. Состояние CLOSED является фиктивным, поскольку оно представляет состояние, когда не существует блока TCP, а потому и нет соединения. Краткое описание состояний:

LISTEN — Ожидание запроса на соединение со стороны чужих портов и программ TCP

SYN-SENT — Ожидание парного запроса на установление соединения. С нашей стороны запрос уже сделан.

SYN-RECEIVED — Ожидание подтверждения после того, как запрос соединения уже принят и отправлен.

ESTABLISHED — Состояние открытого соединения, принимаемые данные представить пользователю. Это нормальное состояние соединения в фазе передачи данных.

FIN-WAIT-1 — Ожидание запроса от чужой программы TCP, или подтверждения ранее отправленного запроса на закрытие соединения.

FIN-WAIT-2 — Ожидание запроса на закрытие соединения со стороны чужой программы TCP.

CLOSE-WAIT — Ожидание запроса на закрытие соединения со стороны своего клиента.

CLOSING — Ожидание подтверждения со стороны чужой программы TCP запроса о закрытии соединения.

LAST-ACK — Ожидание запроса на закрытие соединения, ранее отправленного чужой программе TCP (запрос включал также подтверждение получения чужого запроса на закрытие соединения).

TIME-WAIT — Ожидание когда истечет достаточное количество времени и можно быть уверенным, что чужая программа TCP получила подтверждение своего запроса на закрытие соединения.

CLOSED — Состояние полного отсутствия соединения.

Соединение TCP переходит с одного состояния на другое в ответ на события. Событие — это запросы клиента (открытие, посылка, получение, закрытие, отказ, получение состояния соединения), приход сегментов, и особенно тех, которые содержат флаги SYN, ACK, RST и FIN, а также истечение выделенного времени.

Диаграмма состояний на рисунке 6 иллюстрирует лишь смену состояний, а также вызвавшие это события, производимые действия, но не адреса, условия ошибок, не действия, не связанные прямо с изменением состояния. Более подробные сведения о действиях программы протокола TCP в ответ на события приведены в последней главе. Замечание. Данная диаграмма является лишь сводной, но не должна восприниматься как полная спецификация.