Как узнать имя процесса, которое открывает порт tcp?

У меня есть два Linux-сервера. Скажем, это C и S
C является клиентом S

На моей машине S я печатаю.

$ netstat -an | grep ESTABLISHED
tcp 0 0 192.168.1.220:3306 C: 57010 ESTABLISHED

Тогда я могу знать, что C сейчас подключается.
На машине C я также хотел бы узнать имя процесса, которое открывает порт 57010 и подключает S сервер. Как я могу это сделать? Конечно, у меня есть разрешение C

3 Solutions collect form web for “Как узнать имя процесса, которое открывает порт tcp?”

Один из способов – сказать lsof -i:57010 -sTCP:ESTABLISHED . Это просматривает таблицу дескрипторов открытых файлов ядра, которая ищет процессы с установленным TCP-соединением с использованием этого порта. (Сетевые сокеты – это дескрипторы файлов в системах типа * ix.) Вы должны использовать -sTCP:LISTEN на стороне сервера, чтобы вместо этого отфильтровать только гнездо слушателя.

Из-за того, как работает lsof , он может видеть только процессы, которыми владеет ваш пользователь, если вы не запустили его как root. Это также довольно неэффективно, так как типичная система * ix имеет много файлов, открытых в любой момент времени. Метод netstat указанный в другом ответе, быстрее и обычно имеет более низкие требования к доступу.

lsof метод lsof имеет одно большое преимущество: не все операторы типа * ix имеют флаг netstat для включения имени процесса в выходной файл, тогда как lsof был перенесен на каждую операционную систему * ix, которую вы, скорее всего, будете использовать . Например, netstat OS X – это, например. Он имеет опцию -p , но он делает что-то отличное от netstat -p в Linux.

Для необычного номера порта, такого как номер в вашем вопросе, вы обычно можете уйти, не добавляя lsof -s -s , потому что данный компьютер вряд ли будет иметь программы, которые подключаются к порту и прослушивают его. Может быть полезно добавить его с номерами портов, такими как HTTP 80, где, вероятно, у вас будет несколько программ, использующих этот порт за один раз.

Очень повезло, что флаг -s является необязательным во многих ситуациях, потому что это использование работает только с lsof версии 4.81 и новее. В более старых версиях -s означало что-то еще! Это винтажное изменение 2008 года, но оно все равно может укусить неожиданно. RHEL 5 поставляется с lsof 4.78, например.

Вы можете использовать netstat -anp | grep 57010 netstat -anp | grep 57010 на сервере C. Но это будет работать только в том случае, если между ними нет какого-либо межсетевого экрана, который отображает порт 57010 на другой.

Только ради полноты:

Использование ss из нового набора инструментов для сети Linux ( iproute2 ):

 ss -tp sport = :57010 dst 192.168.1.220 
  • Проблемы с nmap-сканированием с использованием прокси-сервера ssh с proxychains
  • Не опаснее ли подключаться к сети как root?
  • Сервер ретрансляции для общего трафика TCP?
  • Как настроить configure keepalive на Centos7
  • Есть ли способ настроить TCP на потерю пакетов и повторную передачу?
  • Задержка FIN-ACK отправлена ​​по linux
  • Как узнать, сколько повторных передач TCP происходит?
  • Как настроить OpenVPN для ожидания медленных прокси SOCKS?
  • TCP: один ПК может подключаться к другому порту прослушивания, но не наоборот
  • Создание TCP-трафика в Ubuntu
  • Измените адрес прослушивания на IPv4 с IPv6
  • Interesting Posts

    Быть root без запроса пароля в сценарии оболочки

    В чем проблема, из-за которой debian зависает в fsck / dev / sda? Каково решение?

    Привязать USB-накопитель к домашней директории по требованию

    Ярлык клавиатуры с Shift in Mate

    Как ускорить мою сборку

    Модуль, помеченный (F) в / proc / modules

    В команде tar -cvjf foo.tbz abc, что такое a, b и c?

    Драйверы Blacklisting

    Исполняемые файлы FORTRAN: heap maxed out

    Debian + Linux kernel 3.12.22: опция «Загрузка модуля ядра» недоступна

    как установить .git-файл?

    Как установить что-то, что читается из буфера обмена (например, xclip или xsel) без использования sudo?

    Как создать хранилище ключей и доверительное хранилище с использованием самозаверяющего сертификата?

    Как отобразить файл .jpg с помощью fbi в сценарии bash для установленного количества времени, а затем выполнить следующую команду в скрипте

    Создание собственного «изображения BBB» для его установки в нескольких BBB?

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