Какие процессы используют какие порты в unix?

Мне нужно выяснить, какие порты подключены к каким процессам на машине Unix (HP Itanium). К сожалению, lsof не установлен и у меня нет возможности его установить.

Кто-нибудь знает альтернативный метод? Довольно продолжительное гугление ничего не дало.


person gnuchu    schedule 24.09.2008    source источник
comment
это зависит от используемого unix. что это ?   -  person edomaur    schedule 24.09.2008
comment
Аналогично в Unix и Linux: Что использует этот сетевой сокет? (10 августа 2010 г.)   -  person Graham Perrin    schedule 06.04.2015


Ответы (9)


Предполагая, что это HP-UX? Как насчет Ptools - они у вас установлены? Если это так, вы можете использовать «pfiles», чтобы найти порты, используемые приложением:

pfiles выводит информацию обо всех открытых файловых дескрипторах процесса. Если дескриптор файла соответствует файлу, pfiles выводит информацию fstat(2) и fcntl(2).

Если файловый дескриптор соответствует сокету, pfiles выводит информацию, относящуюся к сокету, такую ​​как тип сокета, семейство сокетов и семейство протоколов.

В случае семейства сокетов AF_INET и AF_INET6 также печатается информация об одноранговом хосте.

для f в $(ps -ex | awk '{print $1}'); эхо $f; файлы $f | grep ПОРТНОМ; Выполнено

переключите PORTNUM на номер порта. :) может быть дочерним pid, но достаточно близко, чтобы определить проблемное приложение.

person Jay    schedule 25.09.2008

netstat -l (при условии, что он поставляется с этим версия UNIX)

person Quentin    schedule 24.09.2008

Учитывая (почти) все в unix является файлом, а lsof перечисляет открытые файлы...

Линукс: netstat -putan or lsof | grep TCP

ОС X: lsof | grep TCP

Другой Unixen: lsof способ...

person lms    schedule 24.09.2008

netstat -pln

РЕДАКТИРОВАТЬ: только для Linux, на других UNIX-ах netstat может не поддерживать все эти параметры.

person Sergey Stolyarov    schedule 24.09.2008

netstat -ln | awk '/^(tcp|udp)/ { split($4, a, /:/); print $1, a[2]}' | sort -u

дает вам активные порты tcp/udp. Затем вы можете использовать порты с fuser -n tcp или fuser -n udp как root, и предположим, что fuser является фьюзером GNU или имеет аналогичные параметры.

Если вам нужна дополнительная помощь, дайте мне знать.

person tzot    schedule 24.09.2008

Попробуйте pfiles PID показать все открытые файлы для процесса.

person dogbane    schedule 24.09.2008

Какой процесс использует порт в unix;

1. netstat -Aan | grep-порт

root> netstat -Aan | группа 3872

output> f1000e000bb5c3b8 tcp 0 0 *.3872 . ПРОСЛУШАТЬ

2. rmsock f1000e000bb5c3b8 tcpcb

output> Сокет 0xf1000e000bb5c008 удерживается процессом 13959354 (java).

3. пс-эф | группа 13959354

person Ahmet Mecid Kaya    schedule 17.06.2015

Я использую эту команду:

netstat -tulpn | grep LISTEN

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

person Linden X. Quan    schedule 31.01.2019

Если вы хотите узнать все прослушиваемые порты вместе с их данными: локальный адрес, внешний адрес и состояние, а также идентификатор процесса (PID). Вы можете использовать следующую команду для этого в Linux.

 netstat -tulpn
person YAP    schedule 12.03.2019