如何检查运行服务时打开的端口?

如何检查运行服务时打开的端口?

假设我使用 启动了一个服务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(将端口替换为您需要的任何端口)

相关内容