Linux查看服务器开放和启用的端口的方法步骤

 更新时间:2025年08月28日 09:40:04   作者:网硕互联的小客服  
本文介绍Linux查看开放端口的多种方法,包括ss、netstat、lsof、firewall-cmd、iptables及nmap,适用于监听端口、防火墙规则检查与端口扫描等场景,需要的朋友可以参考下

在 Linux 系统中,可以通过以下方法查看 服务器开放和启用的端口。以下是详细的步骤和工具,适用于不同场景。

1. 使用 ss 查看开放的端口

ss 是一个现代化工具,用于显示网络连接和监听的端口。

1.1 查看正在监听的端口

运行以下命令:

ss -tuln 
  • 参数说明
    • -t:显示 TCP 端口。
    • -u:显示 UDP 端口。
    • -l:仅显示监听的端口。
    • -n:以数字形式显示端口号(不解析为服务名称)。

示例输出

Netid  State      Recv-Q Send-Q Local Address:Port       Peer Address:Port
tcp    LISTEN     0      128    0.0.0.0:22              0.0.0.0:*     
tcp    LISTEN     0      128    127.0.0.1:3306          0.0.0.0:*     
udp    UNCONN     0      0      0.0.0.0:123             0.0.0.0:*     
  • 解释
    • 0.0.0.0:22:表示所有网络接口上监听的 SSH 服务端口。
    • 127.0.0.1:3306:表示仅在本地监听的 MySQL 服务端口。

2. 使用 netstat 查看开放的端口

如果 ss 不可用,可以使用 netstat(部分系统需安装 net-tools 包)。

2.1 查看监听的端口

运行以下命令:

netstat -tuln 
  • 参数说明
    • -t:显示 TCP 端口。
    • -u:显示 UDP 端口。
    • -l:仅显示监听的端口。
    • -n:以数字形式显示端口号。

示例输出

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN
udp        0      0 0.0.0.0:123             0.0.0.0:*

2.2 安装 net-tools(如果未安装)

在部分系统中,netstat 可能缺失,需要手动安装:

sudo apt install net-tools       # Ubuntu/Debian 系
sudo yum install net-tools       # CentOS/RHEL 系

3. 使用 lsof 查看开放的端口

lsof 是一个强大的工具,可以查看与端口相关的进程。

3.1 查看监听的端口

运行以下命令:

sudo lsof -i -P -n | grep LISTEN
  • 参数说明
    • -i:显示网络连接。
    • -P:显示端口号,而不是服务名称。
    • -n:避免解析域名,加快显示速度。

示例输出

sshd      1234    root    3u  IPv4  123456      0t0  TCP *:22 (LISTEN)
mysqld    2345    mysql   10u IPv4  654321      0t0  TCP 127.0.0.1:3306 (LISTEN)

4. 使用 firewall-cmd 查看防火墙开放的端口

如果服务器使用 Firewalld 作为防火墙,可以通过以下命令查看防火墙规则。

4.1 查看已开放的端口

运行以下命令:

sudo firewall-cmd --list-ports

示例输出

22/tcp 80/tcp 443/tcp 
  • 表示 TCP 端口 22(SSH)、80(HTTP)、443(HTTPS)已开放。

4.2 查看所有防火墙规则

运行以下命令:

sudo firewall-cmd --list-all 

示例输出

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh http https
  ports: 22/tcp 80/tcp 443/tcp
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

4.3 开放新端口

如果需要开放额外的端口(如 8080 TCP),可以运行:

sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

5. 使用 iptables 查看防火墙规则

如果服务器使用的是 iptables 防火墙,可以通过以下命令查看规则。

5.1 查看所有规则

运行以下命令:

sudo iptables -L -n -v

示例输出

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
 100  5000 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0     tcp dpt:22
 50   3000 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0     tcp dpt:80

5.2 开放新端口

如果需要新增开放端口(如 8080 TCP),可以运行:

sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

6. 使用 nmap 扫描本地开放端口

nmap 是一个网络扫描工具,可以用于检查本地或远程服务器的开放端口。

6.1 安装 nmap

sudo apt install nmap       # Ubuntu/Debian 系
sudo yum install nmap       # CentOS/RHEL 系

6.2 扫描本地开放端口

运行以下命令:

sudo nmap -sT -p- 127.0.0.1 
  • -sT:扫描 TCP 端口。
  • -p-:扫描所有端口(1-65535)。

示例输出

Starting Nmap 7.80 ( https://nmap.org ) at 2023-08-16 10:00 UTC
Nmap scan report for localhost (127.0.0.1)
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
443/tcp   open  https
3306/tcp  open  mysql

7. 总结

工具用途命令示例
ss查看监听的端口ss -tuln
netstat查看监听的端口netstat -tuln
lsof查看端口和相关进程`lsof -i -P -n
firewall-cmd查看防火墙开放的端口firewall-cmd --list-ports
iptables查看防火墙规则iptables -L -n -v
nmap扫描本地开放端口nmap -sT -p- 127.0.0.1

通过以上方法,您可以轻松检查 Linux 服务器上开放和启用的端口,并根据需要调整防火墙规则或开放新端口。

到此这篇关于Linux查看服务器开放和启用的端口的方法步骤的文章就介绍到这了,更多相关Linux查看服务器端口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • centos下fail2ban安装与配置详解

    centos下fail2ban安装与配置详解

    这篇文章主要介绍了centos下fail2ban安装与配置实例,fail2ban是一个实用、强大的Linux安全软件,可以监控大多数常用服务器软件,需要的朋友可以参考下
    2014-04-04
  • centos7 设置grub密码及单用户登录实例代码

    centos7 设置grub密码及单用户登录实例代码

    这篇文章主要介绍了centos7 设置grub密码及单用户登录实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • windows10 更新Ubuntu20.04 LTS的方法步骤

    windows10 更新Ubuntu20.04 LTS的方法步骤

    这篇文章主要介绍了windows10 更新Ubuntu20.04 LTS的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Linux下安装SVN服务端的方法步骤

    Linux下安装SVN服务端的方法步骤

    这篇文章主要介绍了Linux下安装SVN服务端的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • linux apache泛域名解析及dns相关

    linux apache泛域名解析及dns相关

    apache泛域名解析及dns相关,供大家学习参考
    2013-02-02
  • Linux系统实现ansible自动化安装配置httpd的方法

    Linux系统实现ansible自动化安装配置httpd的方法

    这篇文章主要介绍了Linux系统实现ansible自动化安装配置httpd的方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • linux在vim中查找和替换方式

    linux在vim中查找和替换方式

    Linux中使用Vim编辑器查找和替换文本的方法非常直观和强大,Vim支持多种查找和替换的命令,包括向前查找、向后查找、查找并替换文本、替换所有匹配项、确认每个替换和在多个文件中进行替换等
    2025-02-02
  • Linux命令行快速技巧之定位一个文件的方法

    Linux命令行快速技巧之定位一个文件的方法

    Linux 命令行专门设计了很多非常有用的命令行工具在你的电脑上查找文件。下面我们看一下它们其中三个:ls、tree 和 find。 感兴趣的朋友跟随小编一起看看吧
    2018-11-11
  • linux指令man page之rm,mv详解

    linux指令man page之rm,mv详解

    这篇文章主要介绍了linux指令man page之rm,mv详解的相关资料,需要的朋友可以参考下
    2017-02-02
  • Linux下rz/sz安装及使用方法示例

    Linux下rz/sz安装及使用方法示例

    这篇文章主要介绍了Linux下rz/sz安装及使用方法示例,详细的介绍了如何使用和安装rz/sz,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06

最新评论