当前位置: 首页 > news >正文

Linux Shell批量测试IP连通性

Linux 通过Shell脚本来实现读取txt文件中的IP地址,并使用telnet对其后的所有端口进行测试,判断是否可以连接。每个IP地址的端口测试时间限制为5秒。

IP文件 : ips.txt

192.168.1.1 22,80,443
192.168.1.2 21,25,110
192.168.1.3 8080

每一行包含一个IP地址和对应的端口列表,端口之间使用逗号隔开。

Shell脚本

#!/bin/bash# 文件路径
file="ip_list.txt"# 检查文件是否存在
if [ ! -f "$file" ]; thenecho "文件 $file 不存在"exit 1
fi# 读取文件并逐行处理
while IFS= read -r line
do# 提取当前行的第一个字段(IP地址)ip=$(echo $line | awk '{print $1}')# 提取当前行的其他字段(端口)ports=$(echo $line | awk '{print $2}')# 将端口列表按逗号分割IFS=',' read -r -a port_array <<< "$ports"echo "Testing IP: $ip"# 遍历每个端口进行测试for port in "${port_array[@]}"doecho "Testing port $port on $ip..."# 使用timeout命令限制telnet命令的执行时间不超过5秒# 尝试使用telnet连接到指定的IP和端口。如果连接成功,命令的退出状态为0,否则为非0timeout 5 bash -c "echo > /dev/tcp/$ip/$port" 2>/dev/nullif [ $? -eq 0 ]; thenecho "Port $port on $ip is open"elseecho "Port $port on $ip is closed or filtered"fidoneecho "*****************"
done < "$file"
http://www.lryc.cn/news/425142.html

相关文章:

  • 已解决:anaocnda如何备份环境与安装环境
  • 自动化与高效设计:推理技术在FPGA中的应用
  • 对react模块和模块化理解
  • CAN总线-----帧格式
  • UE网络同步(一) —— 一个项目入门UE网络同步之概念解释
  • MATLAB中rsf2csf函数用法
  • Java基础 文字小游戏
  • 「数组」归并排序 / if语句优化|小区间插入优化(C++)
  • 颠覆传统 北大新型MoM架构挑战Transformer模型,显著提升计算效率
  • 接口优化笔记
  • pandas 科学计数法显示
  • PHP正则替换字符串中的图片地址
  • 基于多商户AI智能名片商城小程序的粉丝忠诚度提升策略:深度融合足额法则与多维度激励体系
  • BigDecimal高精度运算
  • C/C++实现蓝屏2.0
  • Unity音频管理器插件AudioToolKit
  • 搜维尔科技:驾驶模拟器背后的技术: Varjo的虚拟/混合现实 (VR/XR)提供独特的优势,最终加快汽车开发创新的步伐
  • OSL 冠名赞助Web3峰会 “FORESIGHT2024”圆满收官
  • LeetCode 3148.矩阵中的最大得分:每个元素与其左或上元素之差的最大值(原地修改O(1)空间)
  • 主流的开源大型语言模型
  • 【自动驾驶】话题通信
  • 【Linux】中的软件安装:深入探索RPM、SRPM与YUM
  • uniapp自定义请求头信息header
  • SpringBoot整合Liquibase
  • 虚幻5|给武器添加碰撞检测与伤害
  • RESTful API设计指南:构建高效、可扩展的Web服务
  • 黑马头条vue2.0项目实战(九)——编辑用户资料
  • 43.【C语言】指针(重难点)(F)
  • 【STM32+HAL】杆球控制系统
  • 用Python实现9大回归算法详解——04. 多项式回归算法