当前位置:首页 > Linux > 正文

怎样检查Linux端口连通性

使用telnet、nc或nmap工具测试端口,telnet检查TCP连接,nc测试TCP/UDP,nmap扫描端口状态,同时检查防火墙设置是否放行。

使用 telnet 测试TCP端口

适用场景:快速检测TCP端口是否开放(需安装telnet)。
命令与操作

telnet <目标IP> <端口号>
# 示例:检测192.168.1.100的80端口
telnet 192.168.1.100 80

结果解读

  • 连接成功:显示 Connected to 192.168.1.100 或黑屏光标(表示端口开放)。
  • 连接失败:提示 Connection refused(端口未开放)或 No route to host(网络不通)。
    注意:若未安装telnet,可通过 sudo apt install telnet(Debian/Ubuntu)或 sudo yum install telnet(CentOS/RHEL)安装。

使用 nc (netcat) 工具

适用场景:测试TCP/UDP端口,支持脚本自动化。
安装与命令

# 安装nc
sudo apt install netcat-openbsd  # Debian/Ubuntu
sudo yum install nc             # CentOS/RHEL
# TCP端口检测
nc -zv <目标IP> <端口号>
# 示例:检测192.168.1.100的22端口(TCP)
nc -zv 192.168.1.100 22
# UDP端口检测(需服务端响应)
nc -zvu <目标IP> <端口号>

结果解读

怎样检查Linux端口连通性  第1张

  • 成功:Connection to 192.168.1.100 port 22 [tcp/ssh] succeeded!
  • 失败:nc: connect to 192.168.1.100 port 22 (tcp) failed: Connection refused

使用 nmap 扫描端口

适用场景:全面扫描目标主机的开放端口(支持批量IP检测)。
安装与命令

# 安装nmap
sudo apt install nmap  # Debian/Ubuntu
sudo yum install nmap  # CentOS/RHEL
# 基础扫描
nmap -p <端口号> <目标IP>
# 示例:扫描192.168.1.100的80-443端口范围
nmap -p 80-443 192.168.1.100

结果解读

  • 开放端口:PORT STATE SERVICE
  • 关闭端口:STATE 显示 closedfiltered(被防火墙拦截)。

专用协议工具

  1. HTTP/HTTPS端口
    使用 curl 测试Web服务:

    curl -I http://<目标IP>:<端口>  # HTTP
    curl -I https://<目标IP>:<端口> # HTTPS(忽略证书错误加 `-k`)
    • 成功:返回HTTP状态码(如 200 OK)。
    • 失败:提示 Connection refused 或超时。
  2. SSH端口
    使用SSH客户端测试:

    ssh -v -p <端口> user@<目标IP>
    • 成功:显示密钥交换信息。
    • 失败:Connection reset by peer 或超时。

本地端口监听检查

适用场景:确认本机服务是否监听指定端口。
命令

# 使用ss(推荐)
ss -tuln | grep :<端口号>
# 使用netstat
netstat -tuln | grep :<端口号>

结果解读

  • 若输出中包含 LISTEN,表示服务已启动并监听该端口。
  • 无输出则说明端口未被监听。

防火墙与路由排查

若端口不通,需检查:

  1. 防火墙规则
    sudo iptables -L -n  # 查看iptables规则
    sudo ufw status      # Ubuntu防火墙
  2. 路由可达性
    ping <目标IP>        # 检查网络层连通性
    traceroute <目标IP>  # 追踪路由路径

总结建议

  • 快速测试:优先用 telnetnc(TCP)、nmap(批量扫描)。
  • 协议适配:HTTP用 curl,SSH用客户端命令。
  • 全面诊断:结合本地监听检查(ss/netstat)和防火墙验证。
  • 注意局限
    • ICMP协议(ping)仅测试网络层,不涉及端口
    • UDP端口检测需服务端主动响应,否则结果可能不准确。

引用说明基于Linux官方文档(man7.org)及常用网络工具手册(如nmap、netcat),结合运维实践编写,确保方法可靠,防火墙配置部分参考了iptables官方指南(netfilter.org)。

0