Linux中端口检查怎么用bash原生语法测TCP端口

浅墨小哥_2582

浅墨小哥_2582

2026-09-20

651人浏览

原创

bash内置/dev/tcp可测端口连通性及读取banner,无需额外工具,适用于容器、精简系统及国产os;需先验证支持性,再用echo>/dev/tcp/host/port或exec配合timeout使用。

linux中端口检查怎么用bash原生语法测tcp端口

直接用 Bash 内置的 /dev/tcp 伪设备就能测,无需安装任何额外工具,适合容器、精简系统或国产操作系统(如统信UOS、麒麟KOS)环境。

确认 Bash 是否支持 /dev/tcp

执行以下命令验证:

bash -c "echo > /dev/tcp/127.0.0.1/22" 2>/dev/null && echo "支持" || echo "不支持"

若输出“支持”,说明当前 Bash 编译时启用了 --enable-net-redirections,可放心使用。Debian/Ubuntu 某些极简镜像可能默认禁用,需提前确认。

单端口连通性测试(最常用)

语法简洁,靠命令退出状态判断:

  • echo > /dev/tcp/example.com/80 && echo "开放" || echo "关闭或不可达"
  • timeout 3 bash -c "echo > /dev/tcp/192.168.1.100/3306" 2>/dev/null && echo "MySQL端口可达"(加 timeout 防卡死)
  • 失败时常见报错:Connection refused(服务未监听)、No route to host(网络不通)、Name or service not known(DNS失败)

读取服务 Banner(如 HTTP、SSH、SMTP)

建立连接后发送简单请求并读响应:

onewo-rtlinux
onewo-rtlinux

Linux 实时编程助手。生成、审查并修改用于周期性控制任务和中断驱动程序的 C 代码。强制实施实时调度策略。

下载

exec 3 /dev/tcp/example.com/80 && echo -e "HEAD / HTTP/1.0\r\nHost: example.com\r\n\r\n" >&3 && head -n 10

说明:

  • exec 3 /dev/tcp/... 打开双向文件描述符 3
  • echo -e "... " >&3 发送 HTTP 请求头(注意 \r\n 换行)
  • head -n 10 读取前 10 行响应(含状态行和 Server 字段)
  • exec 3 关闭连接

批量扫描多个端口(简易脚本思路)

可写成循环,配合 timeout 控制单次尝试时长:

for port in 22 80 443 8080; do timeout 2 bash -c "echo > /dev/tcp/target-host/$port" 2>/dev/null && echo "$port: open"; done

注意:

  • 不建议扫描大量端口(无并发、无超时控制易卡顿)
  • 真实生产环境仍推荐 nmapnc -zv;此方法定位为“应急可用、零依赖”场景
  • /dev/udp 同理可用,但 UDP 无连接特性导致检测可靠性低于 TCP

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3550

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3093

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2133

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5070

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

4762

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

2873

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2365

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2599

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

CLion 远程开发实战
CLion 远程开发实战

共0课时 | 0人学习