linux如何查看已开启的端口

Linux如何查看已开启的端口

在Linux系统中,我们可以通过多种方法查看已开启的端口,本文将介绍四种常见的方法:使用netstat命令、使用lsof命令、使用ss命令以及查看/proc文件系统中的端口信息,下面我们将分别介绍这四种方法。

linux如何查看已开启的端口

1. 使用netstat命令

netstat命令是一个非常实用的网络工具,可以显示网络连接、路由表、接口统计等信息,要查看已开启的端口,可以使用以下命令:

netstat -tuln

参数说明:

-t:表示列出TCP端口;

-u:表示列出UDP端口;

-l:表示仅列出监听状态的端口;

-n:表示以数字形式显示地址和端口号,而不进行域名解析。

运行上述命令后,你将看到类似如下的输出:

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:22 0.0.0.0:* LISTEN 1234/sshd

linux如何查看已开启的端口

tcp6 0 0 :::80 :::* LISTEN 5678/httpd

udp 0 0 0.0.0.0:53 0.0.0.0:* 1234/dnsmasq

从输出中,我们可以看到本机已经开启了22(SSH)、80(HTTP)和53(DNS)这三个端口。

2. 使用lsof命令

lsof命令用于列出当前系统打开的文件描述符,通过结合特定的选项,我们可以查看已开启的端口,要查看已开启的端口,可以使用以下命令:

lsof -i -P -n | grep LISTEN

参数说明:

-i:表示列出Internet相关的文件描述符;

-P:表示不将端口号转换为服务名;

-n:表示不进行DNS反查。

运行上述命令后,你将看到类似如下的输出:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

linux如何查看已开启的端口

sshd 1234 root 6u IPv4 12345 0t0 TCP *:22 (LISTEN)

httpd 5678 www-data 5u IPv6 12345 0t0 TCP *:80 (LISTEN)

dnsmasq 1234 root 6u IPv4 12345 0t0 TCP *:53 (LISTEN)

从输出中,我们可以看到本机已经开启了22(SSH)、80(HTTP)和53(DNS)这三个端口。

3. 使用ss命令

ss命令是socket statistics的缩写,它是一个功能强大的网络工具,可以实时监控网络状态,要查看已开启的端口,可以使用以下命令:

ss -tuln | grep 'ESTABLISHED' | cut -d ' ' -f '4' | cut -d '/' -f '1' | sort | uniq -c | sort -nr

运行上述命令后,你将看到类似如下的输出:

2 80/tcp LISTEN 1234/httpd 5678/httpd 1 192.168.1.100:80->192.168.1.1:80 192.168.1.1:80 ESTABLISHED 1234/sshd 5678/httpd 1 [::]:80->[::]:80 [::]:80 ESTABLISHED 1234/sshd 5678/httpd 1 [::]:53->[::]:53 [::]:53 ESTABLISHED 1234/dnsmasq 5678/httpd 1 tcp6 0 192.168.1.1:53 -> :::53 [::]:53 ESTABLISHED 1234/dnsmasq 5678/httpd 1 tcp6 0 [::]:53 -> :::53 [::]:53 ESTABLISHED 1234/dnsmasq 5678/httpd 1 tcp6 0 ::ffff:9999 -> ::ffff:aarp [::]:aarp ESTABLISHED 5678/network … … … … … … …

原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/113015.html

(0)
酷盾叔的头像酷盾叔订阅
上一篇 2023-12-24 19:04
下一篇 2023-12-24 19:09

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入