如何识别进程的端口?

我正在运行一个RedHat 5.5,我想知道如何识别一个进程端口

这是netstat的输出,我试图find与端口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 

感谢您的帮助提前。

您可以使用nmap-sV选项来确定服务信息:

 # nmap -sV -p 35670 localhost 

为什么rpc.lockd从netstat / lsof输出中被遮蔽了?

你必须以root身份执行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看到这个