Linux shell 批量验证端口连通性
工作中会遇到验证到某某服务器端口是否连通,如果IP或端口多时,用shell还是很省时省力的,看下面的脚本:
#!/bin/bash
#
#database check
#set -o nounset
LOCALIP=`ifconfig | grep inet | head - | awk '{print $2}' | sed 's/addr\://'`
IPLIST='192.168.161.234
192.168.161.235
192.168.161.22
'
PORTLIST='1521 1522 1523 1524 1525 1526 1527 1528 1529 1530'
check_nc(){
for CHECK_IP in $IPLIST
do
for CHECK_PORT in $PORTLIST
do
nc -nz -w $CHECK_IP $CHECK_PORT
if [ $? -eq ];then
echo "$LOCALIP result $CHECK_IP $CHECK_PORT Connected"
else
echo "$LOCALIP result $CHECK_IP $CHECK_PORT Noconnected"
fi
done
done
}
check_nc_7(){
for CHECK_IP in $IPLIST
do
for CHECK_PORT in $PORTLIST
do
nc -n -w $CHECK_IP $CHECK_PORT < /dev/null
if [ $? -eq ];then
echo "$LOCALIP result $CHECK_IP $CHECK_PORT Connected"
else
echo "$LOCALIP result $CHECK_IP $CHECK_PORT Noconnected"
fi
done
done
}
check_telnet(){
for CHECK_IP in $IPLIST
do
for CHECK_PORT in $PORTLIST
do
echo -e "\n"| telnet $CHECK_IP $CHECK_PORT | grep Connected
if [ $? -eq ];then
echo "$LOCALIP result $CHECK_IP $CHECK_PORT Noconnected"
else
echo "$LOCALIP result $CHECK_IP $CHECK_PORT Connected"
fi
done
done
}
echo "--------------------------------------"
echo "execution time : `date`"
echo "--------------------------------------"
echo "Home ip : $LOCALIP"
echo "--------------------------------------"
which nc > /dev/null
if [ $? -eq ];then
echo "------------------nc------------------"
echo "--------------------------------------"
cat /etc/redhat-release |grep 'release 7' > /dev/null
if [ $? -eq ];then
check_nc_7
else
check_nc
fi
else
which telnet > /dev/null
if [ $? -eq ];then
echo "-----------------telnet----------------"
check_telnet
fi
fi
此脚本考虑了nc及telnet命令,及nc在redhat 7中应用的不同。可以直接复制使用,只要修改一下IP和端口。
Linux shell 批量验证端口连通性的更多相关文章
- linux,windows下检测指定的IP地址是否可用或者检测IP地址冲突的3种方式(批处理程序,python程序,linux shell 批量ping)
本文中的脚本适用范围: 1)检测某些IP地址是否被占用: 2)检测网络中某些设备是否存活: 3)在分配新的ip地址之前,批量检测环境中是否存在冲突的机器 以上检测基于ICMP Ping报文,要求所有的 ...
- Linux shell批量执行scp脚本工具
转载: linux shell + expect:批量scp脚本工具 2011-09-13 15:51:06 分类: Python/Ruby 最近在准备一个部署的任务,其中有一 ...
- windows和linux系统下测试端口连通性的命令
0. ping 1. telnet 2. ssh 3. curl 4. wget 5. tcping 6. 总结 本文地址: https://www.cnblogs.com/hchengmx/p/12 ...
- Linux环境测试机器端口连通性
生产中,有很大一部分的问题都是由于不同机器间网络不同导致的,那么如何判断两台机器之间的连通性?本文介绍几种常见的方式: telnet方法wget方法ssh方法curl方法1. telnet方法格式:t ...
- Linux Shell 批量更换文件名或后缀名
把下列所有.c的文件名修改为.cc rename .c .cc *.c
- Linux shell 批量运行jmeter脚本
第一版,这些代码有点问题,需要继续更改 #!/bin/bash jmxpath= reportpath= timestamp=$(date +%Y%m%d_%H%M%S) echo timestamp ...
- 使用 PsPing & PaPing 进行 TCP 端口连通性测试
PsPing & PaPing 介绍 通常,我们测试数据包能否通过 IP 协议到达特定主机时,都习惯使用 ping 命令.工作时 ping 向目标主机发送一个 IMCP Echo 请求的数据包 ...
- 【虚拟机-虚拟网络】使用 PsPing & PaPing 进行 TCP 端口连通性测试
PsPing & PaPing 介绍 通常,我们测试数据包能否通过 IP 协议到达特定主机时,都习惯使用 ping 命令.工作时 ping 向目标主机发送一个 IMCP Echo 请求的数据包 ...
- Linux shell利用sed如何批量更改文件名详解[转载]
需求背景: 目录A用来存放自动化的包生成的apk文件,现在开发修改了包名的 命名规则:环境名称(pro|uat)-release-日期-v版本号.apk 原来的是思路是通过正则表达式匹配新的包名,但 ...
随机推荐
- 【flask】项目集成Sentry收集线上错误日志
flask集成sentry分为4个步骤: 首先在sentry官网注册1个账号 然后创建1个新的项目,这里我选择的是flask,这会得到一些关于sdk的使用说明 接下来创建一个简单的flask项目使用s ...
- python 爬虫入门1 爬取代理服务器网址
刚学,只会一点正则,还只能爬1页..以后还会加入测试 #coding:utf-8 import urllib import urllib2 import re #抓取代理服务器地址 Key = 1 u ...
- LeetCode算法题-Maximize Distance to Closest Person(Java实现)
这是悦乐书的第328次更新,第351篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第198题(顺位题号是849).在一排座位中,1表示一个人坐在该座位上,0表示座位是空的 ...
- Django REST framework JWT学习
1.JWT学习 在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证.我们不再使用Session认证机制,而使用Json Web Token认证机制. Json web toke ...
- OpenCV在ARM-linux上的移植过程遇到的问题3---共享库中嵌套库居然带路径【未解决】
[Linux开发]OpenCV在ARM-linux上的移植过程遇到的问题3-共享库中嵌套库居然带路径[未解决] 标签(空格分隔): [Linux开发] 移植opencv到tq2440 一.下载open ...
- sql语句传参数
SET @register = '; SET @unregister = '; UPDATE cw_base_register SET register = @register, unregister ...
- 配置NAT
NAT是将IP数据报文报头中的IP地址转换为另-一个IP地址的过程,主要用于实现内部网络(私有IP地址)访问外部网络(公有IP地址)的功能.NAT有3种类型:静态NAT.动态地址NAT以及网络地址端口 ...
- centos7安装nginx并配置前端环境
服务器环境:CentOS Linux release 7.5.1804 (Core) 安装路径:/usr/local 1.安装编译工具以及库文件 (新服务器,未安装则需要先安装) # yum -y i ...
- CentOS7 源进源出
echo 200 ct >> /etc/iproute2/rt_tablesecho 201 cu >> /etc/iproute2/rt_tables ip route ad ...
- MySQL-快速入门(2)数据类型
1.MySQL支持多种数据类型: 1>数值类型:整数类型tinyint.smallint.mediumint.bigint.int:浮点小数类型float.double:定点小数类型decima ...