Различать 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 когда оба процесса будут живы и здоровы, а затем посмотрите, как он изменяется, когда они закрываются.

  • Как создать прослушиватель TCP?
  • Являются ли исходные IP-адреса включенными в уникальность уникального порта Linux?
  • Как перенаправить / переправить между устройством tun / tap и сокетом с помощью Linux-инструментов?
  • Я хочу статический IP-адрес для моего (сетевого или компьютерного)?
  • Как обеспечить, чтобы исходящий трафик TCP / IP всегда использовал VPN, даже при использовании Wi-Fi?
  • Socat - отсутствие буферизации
  • минимальный TCP MSS в Linux
  • Как слушать все порты (UDP и TCP) или сделать их все открытыми в Debian
  • Почему я не вижу капель с потоками TCP в linux
  • Не опаснее ли подключаться к сети как root?
  • Как правильно вызвать lsof для получения всех TCP-соединений?
  • Interesting Posts

    Предупреждения при открытии программ через вызовы подпроцесса Python

    GCC 5+ на CentOS 6.8

    добавление дополнительных треков с помощью sox и командной строки

    Не удается обнаружить более 16 USB-накопителей

    в соответствии с SMART жестким диском не нарушена, но у меня есть ошибки в dmesg

    Openbox menu.xml: возможно использование клавиатурных ускорителей?

    Как я могу просмотреть содержимое файла tar.gz (filenames + filesize)

    Сортировка списков, когда нет начальных нулей

    Возможно ли сделать групповой чат в терминале Linux через локальную сеть?

    Разделение Ubuntu и Windows 7 раз и навсегда

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

    Учитывая SSH туннель ABC, как исключить B?

    Как подождать обнаруженные объемы LVM?

    как узнать, потребуется ли перезагрузка

    Используйте аппаратную клавиатуру с rdp

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