一、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@localhost ~]# vi /ip-ports.txt
192.168.0.180 80
192.168.2.180 8080
192.168.0.191 21
192.168.1.192 22

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

[root@localhost ~]# 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@localhost ~]# chmod a+x /ncports.sh
[root@localhost ~]# sh /ncports.sh
192.168.0.180 80:ok
192.168.2.180 8080:ok
192.168.0.191 21:fail
192.168.1.192 22:ok

三、注意:

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

[root@localhost ~]# yum install nc -y

原文链接:Linux利用nc命令脚本批量检测服务器指定端口是否开放,转载请注明来源!

 分享到:

【上一篇】备份SSH Secure Shell Client中的Profiles文件 【下一篇】Linux使用wondershaper限制网络带宽

发表评论

https://www.hmjblog.com/system/linux/6947.html

Linux利用nc命令脚本批量检测服务器指定端口是否开放的更多相关文章

  1. Linux下利用nc命令来监控检测服务器的端口使用情况(转载)

    最近碰到一个项目,前端用apache htttpd进行发布(80端口),通过双机负载均衡转发到后端的两个tomcat进行处理(8081和8082端口),现在需要随时监控这三个端口的情况,一旦down掉 ...

  2. Python批量扫描服务器指定端口状态

    闲来无事用Python写了一个简陋的端口扫描脚本,其简单的逻辑如下: 1. python DetectHostPort.py iplist.txt(存放着需要扫描的IP地址列表的文本,每行一个地址) ...

  3. Python批量检测服务器端口可用性与Socket函数使用

    socket函数 简述 socket又称套间字或者插口,是网络通信中必不可少的工具.有道是:"无socket,不网络".由于socket最早在BSD Unix上使用,而Unix/L ...

  4. 在Linux主机使用命令行批量删除harbor镜像

     在Linux主机使用命令行批量删除harbor镜像 脚本使用说明: 此脚本不是万能脚本,根据自身环境要调整很多 能用harbor的域名就不要用IP 脚本前半部分可以套用,后半部分需一步一步试错,结合 ...

  5. Linux 使用NC命令永久监听本地端口

    感谢: 冰点阳光 Linux可以使用nc命令来测试网络端口是否正常,类似于telnet命令,但也可以用nc命令来监听本地端口,支持TCP.UDP协议,当我们测试NTP服务网络策略是否正常时,可以使用到 ...

  6. linux 下nc 命令的使用

    linux 下nc 命令的使用 https://blog.51cto.com/samyubw/555247

  7. linux 下 nc 命令的使用

    netcat被誉为网络安全界的'瑞士军刀',一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据.它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动.同时,它也是一个功能强 ...

  8. Linux下nc命令的使用

    nc命令的作用 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口 端口的扫描,nc可以作为client发起TCP或UDP连接 机器之间传输文件 机器之间网络测 ...

  9. Linux - 利用systemctl命令管理服务

    systemctl命令是系统服务管理器指令,融合了service和chkconfig的功能,可以查看和设置服务. 这里以docker服务为例. 利用systemctl命令管理 显示服务状态:syste ...

随机推荐

  1. 搜狗高级架构师帮你系统掌握TypeScript开发

    JavaScript 是一门动态弱类型语言,对变量的类型非常宽容,而且不会在这些变量和它们的调用者之间建立结构化的契约. Angular 已经使用 TypeScript 重构了代码,另一大前端框架 V ...

  2. CentOS系统安装Nginx

    目录 1. 官网下载地址 2. 上传到服务器安装 2.1 检查是否安装以下软件包 2.2 安装 2.3 安装nginx 3. 启动&停止 nginx是 HTTP 和反向代理服务器,邮件(IMA ...

  3. 奇异值分解(SVD)与主成分分析(PCA)

    本文中的内容来自我的笔记.撰写过程中,参考了书籍<统计学习方法(第2版)>和一些网络资料. 第一部分复习一些前置知识,第二部分介绍奇异值分解(SVD),第三部分介绍主成分分析(PCA).以 ...

  4. Spring Boot超简单的测试类demo

    1 概述 Spring Boot结合Junit的简单测试类demo,流程是先引入依赖,接着编写测试类测试运行即可. 2 依赖 <dependency> <groupId>org ...

  5. 手把手教你搭建自己的Angular组件库 - DevUI

    摘要:DevUI 是一款面向企业中后台产品的开源前端解决方案,它倡导沉浸.灵活.至简的设计价值观,提倡设计者为真实的需求服务,为多数人的设计,拒绝哗众取宠.取悦眼球的设计.如果你正在开发 ToB 的工 ...

  6. 额!Java中用户线程和守护线程区别这么大?

    在 Java 语言中线程分为两类:用户线程和守护线程,而二者之间的区别却鲜有人知,所以本文磊哥带你来看二者之间的区别,以及守护线程需要注意的一些事项. 1.默认用户线程 Java 语言中无论是线程还是 ...

  7. 1. APP移动端性能测试基础知识入门

    本博客要点 生命周期 堆和栈 垃圾回收 adb命令 Activity的生命周期

  8. input 的各种属性的验证 checkValidity兼容性

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. 【MySQL】SQL中On和Where的区别

    数据库再通过链接两张表或者多张表时来返回记录时,都会生成一张中间的临时表,然后再将这张表返回给用户: 在使用left jion时,on和where条件的区别如下: 1. on条件是在生成临时表时使用的 ...

  10. C/C++ 实现VA与FOA之间的转换

    PE结构中的地址互转,这次再来系统的复习一下关于PE结构中各种地址的转换方式,最终通过编程来实现自动解析计算,最后将这个功能集成到我的迷你解析器中,本章中使用的工具是上次讲解PE结构文章中制作的CMD ...