Мне нужно выяснить, какие порты подключены к каким процессам на машине Unix (HP Itanium). К сожалению, lsof
не установлен, и я не могу его установить.
Кто-нибудь знает альтернативный метод? Довольно длинный сеанс в Googling ничего не показал.
Мне нужно выяснить, какие порты подключены к каким процессам на машине Unix (HP Itanium). К сожалению, lsof
не установлен, и я не могу его установить.
Кто-нибудь знает альтернативный метод? Довольно длинный сеанс в Googling ничего не показал.
Предполагая, что это HP-UX? Как насчет Ptools - у вас есть установленные? Если это так, вы можете использовать "pfiles" для поиска портов, используемых приложением:
pfiles печатает информацию обо всех дескрипторах открытых файлов процесса. Если файловый дескриптор соответствует файлу, то pfiles печатает fstat (2) и fcntl (2).
Если дескриптор файла соответствует сокету, то pfiles печатает сокет например, тип сокета, семейство сокетов и семейство протоколов.
В случае семейств сокетов AF_INET и AF_INET6 информация о также печатается узел-сверстник.
для f в $(ps -ex | awk '{print $1}'); do echo $f; pfiles $f | grep ПОРТНУМ; сделано
переключите PORTNUM для номера порта.:) может быть дочерним pid, но вы достаточно близко, чтобы идентифицировать проблемное приложение.
netstat -l (при условии, что он поставляется с этой версией UNIX)
Учитывая (почти) все в unix - это файл, а lsof перечисляет открытые файлы...
Linux: netstat -putan or lsof | grep TCP
OSX: lsof | grep TCP
Другое Unixen: lsof
way...
netstat -pln
EDIT: только linux, в других UNIX netstat может не поддерживать все эти параметры.
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 или имеет аналогичные параметры.
Если вам нужна дополнительная помощь, дайте мне знать.
Попробуйте pfiles PID
показать все открытые файлы для процесса.
Какой процесс использует порт в unix;
root > netstat -Aan | grep 3872
вывод > f1000e000bb5c3b8 tcp 0 0 *.3872. СЛУШАТЬ
output > Сокет 0xf1000e000bb5c008 удерживается в процессе 13959354 (java).
Я использую эту команду:
netstat -tulpn | grep LISTEN
Вы можете иметь чистый вывод, который показывает идентификатор процесса и порты, которые прослушивают