linux怎么测试端口是否开通
linux怎么测试端口是否开通详细介绍
在 Linux 中测试端口是否开通,可以使用以下几种常用方法:
方法一:使用
telnet 命令(需安装 telnet 客户端)
bash
telnet 目标IP 端口号
- 示例:测试
192.168.1.1的80端口bashtelnet .1.1 - 输出结果:
- 若端口开放,会显示
Connected to <目标IP>,并进入交互模式(按Ctrl+]退出)。 - 若端口关闭,会显示
telnet: connect to address <目标IP>: Connection refused。
- 若端口开放,会显示
方法二:使用
nc(netcat)命令
1. 检查 TCP 端口
bash
目标IP 端口号
-z:仅检测端口是否开放,不发送数据。-v:显示详细连接信息。- 示例:bash
.1.1
2. 检查 UDP 端口
bash
目标IP 端口号
-u:指定 UDP 协议。
方法三:使用
ss 命令(系统自带,较新的 Linux 版本)
bash
ss 端口号
-t:显示 TCP 连接。-u:显示 UDP 连接。-l:显示监听状态的端口。-n:以数字形式显示端口号。- 示例:查看本地
80端口是否在监听bashss :80
方法四:使用
netstat 命令(经典工具,部分系统需安装)
bash
端口号
- 功能与
ss类似,显示所有监听的 TCP/UDP 端口。 - 示例:检查本地
22端口(SSH)是否开放bash:22
方法五:使用
curl 命令(仅适用于 HTTP/HTTPS 端口)
bash
http://目标IP:端口号
- 示例:测试 HTTP 端口
80bashhttp://192.168.1.1:80
注意事项:
- 本地端口测试:若测试本地端口,目标 IP 可写为
127.0.0.1或localhost。 - 权限问题:部分端口(如
1-1024)需以root权限执行命令。 - 防火墙检查:若端口在本地显示开放但远程无法访问,需检查防火墙(如
firewall-cmd、ufw)是否放行该端口。
根据以上方法,选择适合的工具即可快速验证端口是否开通。