列出防火墙规则
在 Red Hat Enterprise Linux 中,可以使用 service 命令列出防火墙规则:
# service iptables status
或者使用 iptables 命令:
# iptables -xvn -L
从外部测试端口
telnet 应用程序可用于测试简单的网络套接字连接,但只能用于 TCP 连接,不能用于 UDP。
例如,如果我想查看系统上的 TCP 端口 80 是否准备好接受连接,我指定 IP 地址和 telnet 端口:
# telnet 192.168.1.55 80 Trying 192.168.1.55... Connected to example.redhat.com (192.168.1.55). Escape character is '^]'.
如果服务器没有监听响应是不同的:
# telnet 10.0.0.25 80 Trying 10.0.0.25... telnet: connect to address 10.0.0.25: Connection refused telnet: Unable to connect to remote host: Connection refused
- 这表明连接被主动拒绝。 TCP 子系统收到数据包,检查它,发现它是一个在端口 80 上打开套接字的请求,看到没有进程准备接受连接并以拒绝作为响应。
- 如果防火墙被配置为阻止或者过滤连接,telnet 将显示与上述非常相似的内容,即使有一个进程准备接受连接。
- 如果防火墙配置为断开连接,我们将看不到任何响应,而 telnet 将超时:
# telnet 10.0.0.25 80 Trying 10.0.0.25... telnet: connect to address 10.0.0.25: Connection timed out
1.使用netstat查看监听进程
要查看程序或者进程是否正在侦听端口,准备接受数据包,请使用 netstat 命令。
# netstat -tulnp
下面列出了 netstat 命令的参数:
- t - 显示 TCP
- u - 显示 UDP
- l - 仅显示侦听进程(netstat 可以同时显示侦听和所有已建立的连接,例如:作为客户端)
- n - 不解析网络 IP 地址名称或者端口号
- p - 显示正在侦听端口的进程名称
例如 :
# netstat -tulnp 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:111 0.0.0.0:* LISTEN 1254/rpcbind tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1484/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1355/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1562/master tcp 0 0 0.0.0.0:44349 0.0.0.0:* LISTEN 1274/rpc.statd udp 0 0 0.0.0.0:111 0.0.0.0:* 1254/rpcbind udp 0 0 0.0.0.0:631 0.0.0.0:* 1355/cupsd udp 0 0 0.0.0.0:44165 0.0.0.0:* 1274/rpc.statd udp 0 0 0.0.0.0:602 0.0.0.0:* 1274/rpc.statd udp 0 0 0.0.0.0:1001 0.0.0.0:* 1254/rpcbind
TCP/IP 网络连接可能被阻止、丢弃、打开或者过滤。
这些操作通常由系统使用的 IPtables 防火墙控制,并且独立于可能正在侦听网络端口的任何进程或者程序。
在防火墙之外,程序或者进程(服务器或者守护进程)可能正在侦听端口或者未侦听。
这可以使用 netstat 或者 ss 程序进行检查。
检查端口是否在防火墙处打开、阻止、丢弃或者过滤并不简单。
有两种方法可以做到这一点:
- 外部测试端口
- 列出防火墙配置并检查输出
2.使用ss查看监听进程
要查看程序或者进程是否正在侦听端口,准备接受数据包,请使用 ss 程序。
# ss -nutlp
下面列出了 ss 程序的参数:
- t - 显示 TCP 套接字。
- u - 显示 UDP 套接字。
- l - 显示监听套接字
- n - 现在尝试解析名称
- p - 使用套接字显示进程
例如 :
# ss -nutlp Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 *:111 *:* users:(("rpcbind",1254,6)) udp UNCONN 0 0 *:631 ...
www. On IT Road .com
3.使用lsof查找开放端口
要列出系统上所有打开的端口,请使用以下命令列出已打开端口的进程名称和编号。
# lsof -i
这是一个示例输出:
# lsof -i COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rpcbind 1254 rpc 6u IPv4 12592 0t0 UDP *:sunrpc rpcbind 1254 rpc 7u IPv4 12596 0t0 UDP *:1001 rpcbind 1254 rpc 8u IPv4 12597 0t0 TCP *:sunrpc (LISTEN) rpc.statd 1274 rpcuser 5r IPv4 12784 0t0 UDP *:xmlrpc-beep ...
日期:2020-09-17 00:12:11 来源:oir作者:oir