Различать TCP-сервер от клиента в выводе netstat

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

sudo netstat -ntp | grep 56442 tcp 1 0 127.0.0.1:56442 127.0.0.1:8002 CLOSE_WAIT 8276/python tcp 0 0 127.0.0.1:8002 127.0.0.1:56442 FIN_WAIT2 - 

Как я могу определить, какой сервер в этом случае?

Я знаю, что TCP-сервер работает на порту 8002 , а клиент подключается к серверу прослушивания с порта 56442 .

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

И почему не возникает id / description процесса, когда сокет находится в состоянии FIN_WAIT2 ?

2 Solutions collect form web for “Различать TCP-сервер от клиента в выводе netstat”

Я считаю, что netstat -ntp будет показывать только клиентские (неэлектирующие) сокеты в столбце Local address .

Флаг -l должен приводить к тому, что netstat будет netstat только серверные (прослушивающие) сокеты, а с помощью -a вы должны получить оба, а затем вы можете дифференцировать на основе STATE s.

Если вы запустите netstat без grep , вы увидите, что столбец слева от центра имеет заголовок, например «Local Address», а столбец справа от центра имеет заголовок «Foreign Address». Строка, которая показывает локальный адрес, который включает номер порта сервера, является сервером.

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

 sudo netstat -ntp | grep -E "Address|8002" 

И почему не возникает id / description процесса, когда сокет находится в состоянии FIN_WAIT2 ?

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

  • «Netstat -p» / «ss -p» не показывает процесс прослушивания порта
  • SSH-подобный сеанс, который выживает при отключении физической сети
  • Получение текущего количества соединений TCP в системе
  • Почему netstat не показывает мне порты?
  • Регистрация исходящих соединений по мере их возникновения
  • Как подключиться к порту сразу, избегая socket_bind (): невозможно привязать адрес?
  • Как я могу определить, какая программа или пользователь подключен к определенному порту после факта?
  • Являются ли исходные IP-адреса включенными в уникальность уникального порта Linux?
  • Задержка FIN-ACK отправлена ​​по linux
  • почему у меня так много открытых обработчиков сокетов и записей в Netgrat DGRAM?
  • Переносить TCP-соединение из одного окна Linux в другое за NAT?
  • Interesting Posts

    ключевая фраза для ключа, требуемая при копировании файла

    Как отслеживать использование памяти одного процесса?

    Где я должен разместить автономное веб-приложение, которое не требует внешнего веб-сервера?

    Очистить содержимое файла

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

    Найти альтернативу для Debian 5 для работы с большими файлами

    Как сделать снимок экрана моего буфера Xvfb?

    sudo всегда устанавливает пределы процесса для чисел из /etc/security/limits.d?

    Как восстановить забытый пароль root в Fedora 19 от GRUB

    Не могу понять, не поврежден ли мой USB-накопитель

    Как я могу переместить файлы по типу рекурсивно из каталога и его подкаталогов в другой каталог?

    Как избавиться от расширения интеграции оболочки GNOME в Chromium на Debian?

    Установщик Fedora 25 не обнаружит SSD в UEFI. Клавиатура / трекпад не работает в LEGACY

    Запуск входа в Telnet очень медленный на статическом IP-адресе, возможно ли rDNS?

    Уменьшите размер вкладки затмения с помощью GTK-тематики

    Linux и Unix - лучшая ОС в мире.