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网络的非常有用的工具,它可以显示路由表.实 ...
 
随机推荐
- Acwing143. 最大异或对
			
在给定的N个整数A1,A2……ANA1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少? 输入格式 第一行输入一个整数N. 第二行输入N个整数A1A1-ANAN. 输出格式 输出一 ...
 - 详解 vue 双向数据绑定的原理,并实现一组双向数据绑定
			
1:vue 双向数据绑定的原理: Object.defineProperty是ES5新增的一个API,其作用是给对象的属性增加更多的控制Object.defineProperty(obj, prop, ...
 - Python笔记(读取txt文件中的数据)
			
在机器学习中,常常需要读取txt文本中的数据,这里主要整理了两种读取数据的方式 数据内容 共有四列数据,前三列为特征值,最后一列为数据标签 40920 8.326976 0.953952 3 1448 ...
 - C# 中常见的控件以及功能
			
1.StatusBar控件——显示各种状态信息. StatusBar控件可以有状态栏面板(用于显示图标以指示状态)或一系列动画图标(用于指示某个进程正在工作,例如,表示正在保存文档的 Microsof ...
 - 谷歌浏览器安装插件时出现:程序包无效:“CRX_HEADER_INVALID" 后的解决办法
			
以安装书签管理插件Neater Bookmarks为例: 1.下载:网址http://www.cnplugins.com/zhuanti/sixbookmarksintroduce.html 2.将下 ...
 - React与Typescript整合
			
0. Typescript Typescript对于前端来说可以说是越来越重要了,前端的很多项目都用Typescript进行了重构.这主要得益于Typescript有比较好的类型支持,在编码的过程中可 ...
 - Django 路由层与视图层
			
1.路由层 1.1无名分组 1.2 有名分组 1.3 反向解析 1.4 路由分发 1.5 名称空间 2.伪静态网页 3.虚拟环境 4.视图层 1.1 JsonResponse 1.2 FBV与CBV ...
 - Taro -- 微信小程序密码弹窗
			
记录一个类似支付密码的弹窗写法,实现是否免密功能.如图: index.js import Taro, { Component } from '@tarojs/taro' import { Vi ...
 - k8s存储
			
·几种存储类型 1)emptyDir emptyDir Volume的生命周期与Pod一致,Pod中的所有容器都可以共享Volume,它们可以指定各自的mount路径,当Pod从节点删除时,Volum ...
 - nginx+flask+gevent+uwsgi实现websocket
			
Websocket简介 WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议.在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务 ...