怎样检查Linux端口连通性

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

使用 telnet 测试TCP端口

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

怎样检查Linux端口连通性

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> <端口号>

结果解读

  • 成功: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检测)。
安装与命令

怎样检查Linux端口连通性

# 安装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 或超时。

本地端口监听检查

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

怎样检查Linux端口连通性

# 使用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)。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/42753.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月1日 05:17
下一篇 2025年7月1日 05:23

相关推荐

  • Linux查看JDK版本命令

    在Linux终端中执行java -version命令可查看JDK版本信息,若需编译器版本,使用javac -version,通过which java或update-alternatives –list java可定位安装路径。

    2025年6月12日
    000
  • 如何查看Linux磁盘空间?

    使用df -h命令查看磁盘总空间及使用情况,du -sh 目录名查看指定目录大小,lsblk或fdisk -l查看磁盘分区信息。

    2025年6月12日
    000
  • Linux如何查看端口占用情况?

    查看Linux端口占用常用命令:netstat -tulpn 显示TCP/UDP监听端口及进程;ss -tuln 更快速替代方案,两者均需sudo查看全部信息,lsof -i :端口号可查指定端口进程。

    2025年6月7日
    200
  • Linux环境下Matlab性能表现如何优化?

    Linux系统下MATLAB运行稳定高效,兼容性强且资源管理优化出色,适合大规模科学计算与并行处理,命令行操作支持更灵活,能高效调用系统底层资源,图形界面流畅度与Windows/macOS版本基本持平,集成Python/Shell等工具链时交互优势明显。

    2025年5月28日
    400
  • 如何用PE工具正确安装Linux系统?

    使用PE安装Linux系统需借助工具实现,首先通过U盘启动PE环境,利用分区工具划分磁盘空间(如ext4、swap),挂载Linux镜像并运行安装程序,配置引导(如GRUB),注意调整BIOS启动项,确保兼容性及驱动支持,完成系统部署。

    2025年5月28日
    500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN