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