Я управляю RedHat 5.5
и мне было интересно, как я могу определить порт для процесса.
Это результат netstat
и я пытаюсь найти процесс, связанный с портом 35670
:
$ netstat -tulnp
tcp 0 0 0.0.0.0:35670 0.0.0.0:* LISTEN -
Я пробовал следующее, чтобы связать процесс с этим портом, но безрезультатно:
$ lsof -nl | grep TCP
$ fuser 35670/tcp
Это наконец сработало для меня.
$ rpcinfo -p
100021 3 tcp 35670 nlockmgr
Не выполняя приведенную выше команду, как бы вы обнаружили этот порт? 35670
связан с nlockmgr
.
Странная вещь nlockmgr
не отображается, когда я делаю это:
$ ps aux
Вы должны выполнить netstat -tulnp
как корень. В противном случае вы получите -
вместо имени процесса.
Вот что говорится на странице руководства:
PID/Program name
Slash-separated pair of the process id (PID) and process name of the process that owns the socket. --program causes this column
to be included. You will also need superuser privileges to see this information on sockets you don't own. This identification
information is not yet available for IPX sockets.
За одним исключением: portmapper См. этот
Ты можешь использовать nmap
с участием -sV
возможность определить служебную информацию:
# nmap -sV -p 35670 localhost
Вместо netstat вы можете использовать ss
:
[mvutcovi@mvutcovi-lap ~]$ sudo ss -tulnp
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 192.168.122.1:53 0.0.0.0:* users:(("dnsmasq",pid=1698,fd=5))
udp UNCONN 0 0 0.0.0.0%virbr0:67 0.0.0.0:* users:(("dnsmasq",pid=1698,fd=3))
udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:* users:(("dhclient",pid=1980,fd=7))