Linux利用nc命令脚本批量检测服务器指定端口是否开放

简介: nc命令脚本批量检测服务器指定端口是否开放

一、nc命令检测端口的用法

nc -v -w 10 %IP% -z %PORT%

-v 显示指令执行过程。

-w <超时秒数> 设置等待连线的时间。

-u 表示使用UDP协议

-z 使用0输入/输出模式,只在扫描通信端口时使用。

例如:检测192.168.0.180(这里的IP地址也可以换成域名A记录形式,如换成www.baidu.com)这台服务器的80端口和81端口

如果开放,则结果为succeeded,如下:

[root@localhost ~]# nc -v -w 10 -z 192.168.0.180 80

Connection to 192.168.0.180 80 port [tcp/http] succeeded!

如果关闭,则结果为failed,如下:

[root@localhost ~]# nc -v -w 10 -z 192.168.0.180 81

nc: connect to 192.168.0.180 port 81 (tcp) failed: Connection refused

二、批量检测服务器指定端口是否开放

1、假如我们要监控一堆指定的IP和端口,可新建一个文件(第1列为服务器IP,第2列为监控的端口,中间用空格分隔)。

┌──(root💀guiltyfet)-[/home/guiltyfet]
└─# vi /ip-ports.txt

放入ip和端口

192.168.0.180 80

2、新建这样一个脚本来批量检测端口是否开放,成功会返回0值显示ok,失败会返回1值显示fail

┌──(root💀guiltyfet)-[/home/guiltyfet]
└─# vi /ncports.sh
#!/bin/bash  
cat /ip-ports.txt | while read line
do
  nc -w 10 -z $line > /dev/null 2>&1
  if [ $? -eq 0 ]
  then
    echo $line:ok
  else
    echo $line:fail
  fi
done

3、给脚本赋予可执行权限,并执行查看结果

┌──(root💀guiltyfet)-[/home/guiltyfet]
└─# chmod a+x /ncports.sh
┌──(root💀guiltyfet)-[/home/guiltyfet]
└─# sh /ncports.sh

三、注意:

执行nc命令之前,请先检查linux系统是否已安装nc命令;如未安装可进行yum安装

─(root💀guiltyfet)-[/home/guiltyfet]

└─# yum install nc -y

相关文章
|
JSON 监控 API
在线网络PING接口检测服务器连通状态免费API教程
接口盒子提供免费PING检测API,可测试域名或IP的连通性与响应速度,支持指定地域节点,适用于服务器运维和网络监控。
2301 0
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
1174 3
Linux系统初始化脚本
|
12月前
|
域名解析 运维 监控
如何检测服务器是否被入侵?解析5大异常指标
本文系统介绍了服务器入侵的五大检测维度:硬件资源、网络流量、系统日志、文件完整性及综合防护。涵盖CPU、内存异常,可疑外联与隐蔽通信,登录行为审计,关键文件篡改识别等内容,并提供实用工具与防护建议,助力运维人员快速发现潜在威胁,提升系统安全防御能力。转载链接:https://www.ffy.com/latest-news/1916688607247077376
703 0
如何检测服务器是否被入侵?解析5大异常指标
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
1069 9
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
1129 2
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
Web App开发 缓存 安全
Linux一键清理系统垃圾:释放30GB空间的Shell脚本实战​
这篇博客介绍了一个实用的Linux系统盘清理脚本,主要功能包括: 安全权限检查和旧内核清理,保留当前使用内核 7天以上日志文件清理和系统日志压缩 浏览器缓存(Chrome/Firefox)、APT缓存、临时文件清理 智能清理Snap旧版本和Docker无用数据 提供磁盘空间使用前后对比和大文件查找功能 脚本采用交互式设计确保安全性,适合定期维护开发环境、服务器和个人电脑。文章详细解析了脚本的关键功能代码,并给出了使用建议。完整脚本已开源,用户可根据需求自定义调整清理策略。
1519 1
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
4159 0
|
SQL Apache Windows
Windows服务器80端口被占用的全面解决方案
在服务管理器中启动apache2服务,即可正常使用80端口。若系统中还安装了其他微软产品如sql等,也可尝试停止其服务进行测试,但请注意,SQL通常不会使用80端口,因此一般不会受到影响。以上就是关于80端口被system占用的详细解决方法,希望对你有所帮助。
|
网络协议 安全 应用服务中间件
云服务器怎么开启被关闭的端口?手把手教你开启端口
在使用云服务器时,若发现某些服务无法访问,可能是端口被关闭。本文介绍了端口关闭的原因、检查方法及开启步骤。原因包括初始设置限制、防火墙规则和外部网络策略;可通过netstat或ss命令检查端口状态,用ufw、iptables或firewalld调整防火墙规则。最后提供了解决常见问题的建议,确保端口正常开放并可供外网访问。
2785 9