telnet批量检测端口状态(linux)
批量检测端口通信:
准备文件树状图
telnet.sh 脚本内容如下:
文件说明
telnet_alive.txt : 活动的端口
telnet_die.txt : 离线的端口
telnet_result.txt : 活动端口返回信息
telnet_info.txt : 要查询的iP端口地址
telnet.sh : telnet 查询IP的脚本
telnet.sh 的详细信息:
#!/bin/bash BASEDIR=`dirname $0`
BASEDIR=`cd $BASEDIR;pwd` result_dir=$BASEDIR/result telnet_info=telnet_info.txt for line in `cat $BASEDIR/$telnet_info`
do
ip=`echo $line | awk 'BEGIN{FS="|"} {print $1}'`
port=`echo $line | awk 'BEGIN{FS="|"} {print $2}'`
echo "(sleep 1;) | telnet $ip $port"
(sleep 1;) | telnet $ip $port > $result_dir/telnet_result.txt
successIp=`cat $result_dir/telnet_result.txt | grep -B 1 \] | grep [0-9] | awk '{print $3}' | cut -d '.' -f 1,2,3,4`
if [ -n "$successIp" ]; then
echo "$successIp|$port" >> $result_dir/telnet_alive.txt
fi
done cat $BASEDIR/$telnet_info $result_dir/telnet_alive.txt | sort | uniq -u > $result_dir/telnet_die.txt
本程序的GITHUB地址:https://github.com/760730895/-telnet-
备注:
telnet.sh 脚本内容说明如下:
#!/bin/bash
#功能,批量telnet端口,输入参数需要测试的IP:PORT列表文件:telnet_list.txt(文件名可以自定义,但是只能跟脚本放在同一目录)
#使用方法: telnet.sh telnet_list.txt ;或者后台执行: sh telnet.sh telnet_list.txt >tellog.log 2>&1 &
#输出2个文件到result目录中: telnet_alive.txt 为端口通的;telnet_die.txt为端口不通的情况。
#文件内容格式如下,文件中每一行第一个字符#开头的行为注释行,不进行处理:
#127.0.0.1|631
#获取当前目录
BASEDIR=`dirname $0`
BASEDIR=`cd $BASEDIR;pwd`
#设置输出数据目录。
mkdir -p $BASEDIR/result
result_dir=$BASEDIR/result
#设置输入的IP和端口文件名
telnet_list=$1
#如果输入参数为空,默认list文件为当前目录下的telnet_list.txt
if [[ -z $telnet_list ]];
then
echo "=>list file name is default!"
telnet_list=telnet_list.txt
fi
echo "telnet test file is : $telnet_list"
#重置上次执行的文件结果
mv $result_dir/telnet_alive.txt $result_dir/telnet_alive.txt.bak
#进行telnet并输出到响应文件中
for line in `cat $BASEDIR/$telnet_list |grep -v ^# |grep -v ^$ `
do
#获取测试IP
ip=`echo $line | awk 'BEGIN{FS="|"} {print $1}'`
#获取测试端口
port=`echo $line | awk 'BEGIN{FS="|"} {print $2}'`
#telnent一次并暂停1秒输出到result/telnet_result.txt 文件中,文件数据每一次循环会重置。
echo "(sleep 1;) | telnet $ip $port"
(sleep 1;) | telnet $ip $port > $result_dir/telnet_result.txt
#查找成功响应的数据并输出到到result/telnet_alive.txt 文件中。
successIp=`cat $result_dir/telnet_result.txt | grep -B 1 \] | grep [0-9] | awk '{print $3}' | cut -d '.' -f 1,2,3,4`
if [ -n "$successIp" ]; then
echo "$successIp|$port" >> $result_dir/telnet_alive.txt
fi
done
#查找失败数据并输出到result/telnet_die.txt文件内。
cat $BASEDIR/$telnet_list $result_dir/telnet_alive.txt | sort | uniq -u |grep -v ^# > $result_dir/telnet_die.txt
telnet批量检测端口状态(linux)的更多相关文章
- Zabbix如何实现批量监控端口状态
引言 ------------------------------------------------------------------------------------------------- ...
- shell 脚本检测端口状态
方法一: # cat check_port.sh #!/bin/bash cat ip.txt|while read line do /usr/bin/nc -w 1 -z $line > /d ...
- 检测端口状态的python脚本
#!/usr/bin/env python import os,subprocess,socket,time,sys from urllib import urlencode from socket ...
- Linux利用nc命令脚本批量检测服务器指定端口是否开放
一.nc命令检测端口的用法 # nc -v -w 10 %IP% -z %PORT% -v 显示指令执行过程. -w <超时秒数> 设置等待连线的时间. -u 表示使用UDP协议 -z 使 ...
- nc检测端口是否正常服务的一个命令
最近碰到一个项目,前端用apache htttpd进行发布(80端口),通过双机负载均衡转发到后端的两个tomcat进行处理(8081和8082端口),现在需要随时监控这三个端口的情况,一旦down掉 ...
- C#实时检测端口占用情况
在TCP/IP协议中,服务端需要去监听客户端的端口,开始监听,我们需要检测使用的端口是否被占用,获取系统当前使用的所有端口号,用此端口进行匹配即可. 代码如下 internal static Bool ...
- Python批量检测服务器端口可用性与Socket函数使用
socket函数 简述 socket又称套间字或者插口,是网络通信中必不可少的工具.有道是:"无socket,不网络".由于socket最早在BSD Unix上使用,而Unix/L ...
- Telnet命令检测远程主机上的端口是否开启
ping命令不能检测端口,只能检测你和相应IP是否能连通. 本地虚拟机里安装了一个Ubuntu,使用Putty连接22端口操作时提示失败,于是查看对应端口是否开启. Windows下要检测远程主机上的 ...
- 在Linux下用netstat查看网络状态、端口状态
在Linux下用netstat查看网络状态.端口状态 在linux一般使用netstat 来查看系统端口使用情况步. netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实 ...
随机推荐
- Webpack4、iView、Vue开发环境的搭建
导读 项目使用了 yarn ,一个快速.可靠.安全的依赖管理工具.yarn 是一个类似于npm的包管理工具,它是由 facebook 推出并开源,它在速度,离线模式,版本控制的方面具有独到的优势.此项 ...
- python学习第五十天shutil模块的用法
什么shutil模块,就是对高级的文件,文件夹,压缩包进行处理的模块,下面简单讲述其用法. 文件和文件夹的操作 拷贝文件内容 import shutil shutil.copyfileobj(open ...
- 搜索(DFS)---能到达的太平洋和大西洋的区域
能到达的太平洋和大西洋的区域 417. Pacific Atlantic Water Flow (Medium) Given the following 5x5 matrix: Pacific ~ ~ ...
- python基础面试题:(1)
1.以下用C语言开发的Python解释器是( ) A:python是Java语言开发的Python解析器,B:PyPy是使用Python语言开发的Python解析,C:IronPython是.net平 ...
- JVM垃圾回收算法图解
参考文档:https://www.toutiao.com/a6691966641242112516/ 垃圾搜集算法 标记-清除法 标记-清除算法采用从根集合(GC Roots)进行扫描,对存活的对象进 ...
- JS 控制子页面刷新父页面
iframe里面的子页,用parent.location.href = parent.location.reload();如果是window.open 打开就用opener.location.relo ...
- python面向对象--类的内置函数
#isinstance(obj,cls)判断obj是否是类cls的实例 #issubclass(cls,cls1)判断cls是否是cls1的子类或派生类 class Foo: pass class B ...
- python常用函数 Y
yield有点像return,但他会在下一次执行的时候从上次结束点继续执行,带有 yield 的函数在 Python 中被称之为 generator(生成器),生成器无法通过索引获取数据,同时也承诺使 ...
- .OnCommand mfc
.OnCommand是响应WM_COMMAND消息的,一般是响应控件和菜单的命令消息时使用. 如果 WM_COMMAND 来自控件的话 lParam 就是发送这个 WM_COMMAND 消息的控件的句 ...
- thinkphp 模板
一. 模板函数 教程https://www.kancloud.cn/manual/thinkphp5/125005 我们往往需要对模板输出变量使用函数,可以使用: {$data.name|md5} ...