给定一个 TCP/UDP 端口号,如何找出绑定到该端口的服务名称?
我想在各种版本的 Unix 上执行此操作。主要是 Gnu/Linux(通常是 Debian)和 Mac OS X。
答案1
在 Linux 上
ss -lntp
ss -lnup
分别代表 TCP 和 UDP。l
代表监听,p
返回正在监听端口的进程号,而n
令我恼火的是,它不会将 IP 地址转换为名称。
在 Mac OS 上,您可以使用以下命令,该命令也适用于 Linux:
lsof -n -i4TCP:$PORT | grep LISTEN
i4 指定您正在使用 IPv4,其余部分应该是不言自明的。
您还可以使用(在 Linux 上)
netstat -pntl | grep $PORT
但 netstat 现在已经过时了,或者
fuser -n tcp $PORT
但事实并非如此。我只能说这么多了。