使用 lsof 和 fuser 我找不到在陌生端口上监听的进程

使用 lsof 和 fuser 我找不到在陌生端口上监听的进程

我读过其他关于查找进程 ID 和正在监听的内容的帖子,但遗憾的是无法解决我的问题。因此,如果我遗漏了一些相关信息,请见谅。

跑步网络状态我发现了一个无法识别的端口:35813

$ sudo netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:35813           0.0.0.0:*               LISTEN      -

没有 PID 信息。然后运行lsof但没有显示有关该端口的输出。

$ sudo lsof -i :35813

还尝试运行 just lsof -i,但没有任何可疑之处。这是 TCP 侦听进程的输出:

$ sudo lsof -Pni -sTCP:LISTEN
COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rpc.statd   520    statd    9u  IPv4  11556      0t0  TCP *:56969 (LISTEN)
rpc.statd   520    statd   11u  IPv6  11562      0t0  TCP *:46289 (LISTEN)
rpcbind     522     root    8u  IPv4  11545      0t0  TCP *:111 (LISTEN)
rpcbind     522     root   11u  IPv6  11548      0t0  TCP *:111 (LISTEN)

我也尝试过fuser,但是也返回了空的输出​​。

$ sudo fuser 35813/tcp

从局域网内的远程主机,我可以远程登录港口:

$ telnet 192.168.0.16 35813
Trying 192.168.0.16...
Connected to 192.168.0.16.
Escape character is '^]'.

我可以发送一个字符,但什么也没发生。当我输入第二个字符时,外部主机关闭了连接。

最后,我运行grep内部程序/etc/,试图找到监听该端口的东西(有点绝望),但却什么也没找到。

主机正在运行 OpenVPN (udp)、lighttpd 和 ssh。它们均未使用端口 35813。有什么建议吗?提前致谢。

答案1

正如您所描述的,您的问题似乎是一个 UDP 端口,它是一个随机数(因此无法获取有关该端口上运行的内容的信息)并且它在服务器上?(或 NAS?)

你可以试试nmap -v -A -p {the port that you can't recognise} {the host IP}

如果它返回“未知”作为‘在端口上运行的服务’,那么您可以尝试在维基百科中找出通常在该端口上运行的服务。

另一个解决方案是(如果可能的话)重新启动服务器/ NAS 并查看它是否再次打开。

如果确实如此(并且您正在运行 Linux(任何)),您可以使用在互联网上可以找到的命令关闭所有 UDP 端口,方法是输入

如何禁用 Linux (版本/发行版) 上的所有 UDP 连接。

祝你好运!!

相关内容