假设我使用 启动了一个服务sudo service service_name start
,我有兴趣了解该服务打开的所有端口。我可以知道端口 - 程序映射,sudo netstat -tulnp
但我需要知道特定服务。
答案1
为此,我通常使用lsof
显示正在使用的端口的选项。
这是一个例子:
[root@localhost ~]# lsof -Pi | grep myprog
myprog 23411 user 9u IPv6 9828537 0t0 TCP 1.2.3.167:51163->1.2.3.54:8090 (ESTABLISHED)
myprog 23411 user 16u IPv4 9827813 0t0 TCP 1.2.3.167:60783->1.2.3.186:23 (ESTABLISHED)
myprog 23411 user 23u IPv4 9827817 0t0 TCP 192.168.2.8:37435->192.168.2.1:20003 (ESTABLISHED)
myprog 23411 user 24u IPv4 9827815 0t0 TCP 192.168.2.8:38942->192.168.2.1:20001 (ESTABLISHED)
myprog 23411 user 30u IPv4 9849168 0t0 TCP 1.2.3.167:52352 (LISTEN)
myprog 23411 user 31u IPv4 9849242 0t0 TCP 1.2.3.167:52352->1.2.3.186:59323 (ESTABLISHED)
myprog 23411 user 33u IPv4 9852370 0t0 TCP 1.2.3.167:40328 (LISTEN)
[root@localhost ~]#
答案2
您可以直接使用终止进程sudo fuser -k 80/tcp
(将端口替换为您需要的任何端口)