您的位置:

查看防火墙开放了哪些端口

防火墙是保护服务器、网络安全的重要工具,其可以限制网络访问,控制协议和端口等等。一个好的防火墙设置可以有效的提高网络安全。在进行防火墙设置的时候,我们需要知道哪些端口是开放的,以便于对相应业务进行管理。接下来,我们将从几个方面进行详细介绍查看防火墙开放了哪些端口的方法。

一、防火墙如何开放端口

在进行查看防火墙开放端口之前,我们需要了解如何开放端口。下面是一些 CentOS 7 系统下防火墙命令的相关操作。

# 查看 iptables 状态
sudo systemctl status iptables.service

# 关闭 iptables
sudo systemctl stop iptables.service

# 禁止 iptables 开机启动
sudo systemctl disable iptables.service

# 开启 iptables
sudo systemctl start iptables.service

# 允许端口 80 通过防火墙
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

# 保存 iptables 设置
sudo iptables-save

# CentOS 7 Firewall-cmd 命令
sudo firewall-cmd --state  # 查看firewall-cmd状态
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent # 永久开放80端口
sudo firewall-cmd --reload  #重新载入

二、查看Linux系统中防火墙开放的端口

Linux系统提供了一些命令和工具可以查看现有的防火墙规则,下面我们将一一介绍。

1. iptables 命令

iptables 命令可以列出所有防火墙规则,可以通过输入以下命令在命令行窗口查看:iptables -L

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
DOCKER-ISOLATION  all  --  anywhere             anywhere            
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere            
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

2. netstat 命令

netstat 命令可以查看与本地系统建立连接的端口并列出详细信息,可以通过输入以下命令在命令行窗口查看: netstat -anp

$ sudo netstat -anp | grep LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN      -
tcp6       0      0 :::80                   :::*                    LISTEN      -

3. ss 命令

ss 命令是 netstat 命令的替代品,可以显示更多的详细信息,可以通过输入以下命令在命令行窗口查看:ss -lntup

$ sudo ss -lntup
Netid                        State     Recv-Q    Send-Q       Local Address:Port            Peer Address:Port              
tcp                          LISTEN    0         128       127.0.0.11%lo:53                       0.0.0.0:*       users:(("docker-proxy",pid=13943,fd=4))
tcp                          LISTEN    0         128                 *:22                       *:*       users:(("sshd",pid=2735,fd=3))
tcp                          LISTEN    0         128              :::80                    :::*       users:(("httpd",pid=1070,fd=4),("httpd",pid=1069,fd=4),("httpd",pid=1068,fd=4),("httpd",pid=1067,fd=4),("httpd",pid=1066,fd=4),("httpd",pid=1065,fd=4))

三、查看防火墙开放端口

除了查看系统的防火墙设置端口,还有其他的一些方法可以查看防火墙开放端口。

1. nmap 命令

nmap 是一个网络扫描工具,通过扫描目标 IP 地址和端口,可以获取防火墙上开放的端口,可以通过下列命令来查看:

$ sudo nmap -p- localhost
Starting Nmap 7.60 ( https://nmap.org ) at 2018-04-22 12:15 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000024s latency).
Not shown: 65533 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
8000/tcp open  http-alt

2. telnet 命令

telnet 是一个远程访问工具,通过连接目标地址,可以获取防火墙上开放TCP端口的情况。可以使用以下命令: telnet [rayjump.com](http://rayjump.com/) ,其中 [rayjump.com](http://rayjump.com/) 为域名, 为需要查看的端口。

$ telnet rayjump.com 22
Trying 192.168.1.1...
Connected to rayjump.com.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4

3. 使用浏览器访问端口服务

在访问有开放端口的服务器上,我们可以直接使用浏览器通过访问相应的端口进行查看。

通过上述方法,我们就可以查看防火墙开放了哪些端口,并且对相应端口进行管理和配置。维护好企业的网络环境,提高相应的安全性,这就需要我们要有一个好的防火墙设置,提高网络安全性。