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

相关文章
|
2天前
|
运维 监控 Linux
提升系统稳定性:Linux服务器性能监控与故障排查实践深入理解与实践:持续集成在软件测试中的应用
【5月更文挑战第27天】在互联网服务日益增长的今天,保障Linux服务器的性能和稳定性对于企业运维至关重要。本文将详细探讨Linux服务器性能监控的工具选择、故障排查流程以及优化策略,旨在帮助运维人员快速定位问题并提升系统的整体运行效率。通过实际案例分析,我们将展示如何利用系统资源监控、日志分析和性能调优等手段,有效预防和解决服务器性能瓶颈。
|
9天前
|
运维 Linux 程序员
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
|
13天前
|
Linux 网络安全
linux/服务器使用scp将一个服务器文件转移到另一个服务器上
linux/服务器使用scp将一个服务器文件转移到另一个服务器上
46 3
|
14天前
|
监控 JavaScript 网络协议
Linux系统之安装uptime-kuma服务器监控面板
【5月更文挑战第12天】Linux系统之安装uptime-kuma服务器监控面板
33 0
|
14天前
|
消息中间件 安全 Linux
服务器(Linux)在线下载activeMQ以及配置打开
服务器(Linux)在线下载activeMQ以及配置打开
25 3
|
14天前
|
Java Linux
Linux(服务器) 装JDK
Linux(服务器) 装JDK
32 1
|
14天前
|
NoSQL Redis 数据库
Redis中的常用命令非常丰富,涵盖了各种数据类型的基本操作以及服务器管理和维护的相关指令
【5月更文挑战第15天】Redis常用命令包括通用(如PING、SELECT)、键操作(KEYS、EXISTS、DEL)、字符串(SET、GET)、哈希(HSET、HGET)、列表(LPUSH、LPOP)、集合(SADD、SMEMBERS)和有序集合(ZADD、ZRANGE)等。这些命令用于数据操作及服务器管理,满足不同场景需求。了解更多命令,建议参考Redis官方文档。
32 2
|
14天前
|
关系型数据库 MySQL Linux
服务器Linux系统配置mysql数据库主从自动备份
这是一个基本的配置主从复制和设置自动备份的指南。具体的配置细节和命令可能因您的环境和需求而有所不同,因此建议在操作前详细阅读MySQL文档和相关资源,并谨慎操作以避免数据丢失或不一致。
34 3
|
18小时前
|
弹性计算 运维 监控
【阿里云弹性计算】ECS实例的生命周期管理:阿里云自动化工具与策略介绍
【5月更文挑战第29天】阿里云提供自动化工具和策略管理ECS实例生命周期,如资源编排服务(ROS)实现一键部署,通过模板定义实例配置;自动化运维服务(OOS)执行自动化运维任务;弹性伸缩策略动态调整实例数量;定时启动/停止策略节省成本;监控告警策略确保业务连续性。通过这些工具和策略,企业可实现ECS实例的高效管理。
8 2
|
18小时前
|
弹性计算 运维 监控
【阿里云弹性计算】从物理机到阿里云ECS:企业IT架构转型升级之路
【5月更文挑战第29天】随着云计算兴起,企业正转向阿里云ECS以应对传统物理机的挑战。本文详述了这一转型过程,包括现状评估、迁移计划制定、测试环境搭建、应用数据迁移及后期监控优化。转型升级可提升资源利用率,降低运维成本,加快业务响应,并增强数据安全。示例代码展示了使用阿里云Python SDK创建ECS实例的过程。
13 1

热门文章

最新文章