批量检测端口通信:

准备文件树状图

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)的更多相关文章

  1. Zabbix如何实现批量监控端口状态

    引言 ------------------------------------------------------------------------------------------------- ...

  2. shell 脚本检测端口状态

    方法一: # cat check_port.sh #!/bin/bash cat ip.txt|while read line do /usr/bin/nc -w 1 -z $line > /d ...

  3. 检测端口状态的python脚本

    #!/usr/bin/env python import os,subprocess,socket,time,sys from urllib import urlencode from socket ...

  4. Linux利用nc命令脚本批量检测服务器指定端口是否开放

    一.nc命令检测端口的用法 # nc -v -w 10 %IP% -z %PORT% -v 显示指令执行过程. -w <超时秒数> 设置等待连线的时间. -u 表示使用UDP协议 -z 使 ...

  5. nc检测端口是否正常服务的一个命令

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

  6. C#实时检测端口占用情况

    在TCP/IP协议中,服务端需要去监听客户端的端口,开始监听,我们需要检测使用的端口是否被占用,获取系统当前使用的所有端口号,用此端口进行匹配即可. 代码如下 internal static Bool ...

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

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

  8. Telnet命令检测远程主机上的端口是否开启

    ping命令不能检测端口,只能检测你和相应IP是否能连通. 本地虚拟机里安装了一个Ubuntu,使用Putty连接22端口操作时提示失败,于是查看对应端口是否开启. Windows下要检测远程主机上的 ...

  9. 在Linux下用netstat查看网络状态、端口状态

    在Linux下用netstat查看网络状态.端口状态 在linux一般使用netstat 来查看系统端口使用情况步. netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实 ...

随机推荐

  1. 实现简单的计算器(设计UI)

    要点说明: 1.一个textedit控件,其余全部是button控件,button布局方式:栅格布局(Grid layout) 2.对窗体的Title进行修改(默认是工程名) 3.在ui文件中设计的U ...

  2. weight (搜索对象的选取)

    #10249. 「一本通 1.3 例 5」weight [题目描述] 已知原数列 $a_1,a_2,\cdots,a_n$​​ 中的前 1项,前 2 项,前3项, $\cdots$ ,前 n 项的和, ...

  3. SCUT - 11 - 被钦定的选手 - 质因数分解

    https://scut.online/p/11 T了好多次,还想用mutimap暴力分解每个数的质因数.后来记录每个数的最小质因子过了. #include <bits/stdc++.h> ...

  4. LLVM思想与功能综述

    llvm似乎还有一个奇怪的优化方法:llvm(low level virtual machine)本身就是一种抽象的.虚拟的计算机架构,其特性介于RISC和CISC之间,llvm会先将代码编译为llv ...

  5. Oracle 常用统计视图汇总

         Oracle统计信息对数据库性能优化和故障排除都相当重要,目前接触到的与统计信息相关的视图大体有 4 个:   1.v$sysstat 视图      该视图用于记录系统级的统计信息,共 5 ...

  6. JavaScript基础7——动态生成表格

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. HTTPS证书转换成PEM格式

    PEM 格式的证书文件(*.pem)一般为以下格式: 注意:PEM 格式证书文件可用 notepad++ 等文本编辑器打开. CER / CRT 格式证书转换为 PEM 格式 对于 CER / CRT ...

  8. 异步json发送put或者delete

    第一种 put请求或者delete请求 直接写发送的情况 //批量删除 function batchDel() { var ids = []; $("#list-table").f ...

  9. java 继承父类并实现接口、接口之间的多继承

  10. nginx安装配置目录

    1.nginx日志轮转,用于lograte服务的日志切割. /etc/logrotate.d/nginx 2.cgi配置相关 /etc/nginx/fastcgi_params /etc/nginx/ ...