用python测试网络上可达的网络设备

用python测试网络上可达的网络设备

之前使用的os在python中执行ping测试网络中可达的目标,但是他在执行ping命令时脚本会将系统执行ping时的回显内容显示出来,有时这些回显并不是必要的。如果用脚本一次性ping成百上千台网络设备或者URL时会影响美观和阅读,因为我们真正关心的其实是最后一句用python打印出来的通知用户目的IP地址可达的信息。

接下来我将用pythonping作为本次实验的重点来给大家实操下用法

云配置

请添加图片描述

云的配置是为了让主机能与交换机互相访问

拓扑

请添加图片描述

实验背景

三台交换机的IP分别为192.168.56.2,192.168.56.3,192.168.56.4。

目的

在不借助任何第三方NMS软件或者网络安全工具的情况下,使用python脚本依次ping所有交换机的管理IP地址,来确定当前有哪些交换机可达

代码

import  pythonping  # 导入 pythonping 库,用于执行 ping 操作
import os  # 导入 os 库,用于操作文件和系统功能# 如果名为 'reachable_ip.txt' 的文件存在,删除它
if os.path.exists('reachable_ip.txt'):os.remove('reachable_ip.txt')ip_list = range(2, 5)  # 创建一个IP列表# 遍历IP列表
for ip in ip_list:ip = '192.168.56.' + str(ip)  # 构建IP地址ping_result = pythonping.ping(ip)  # 执行ping操作f = open('reachable_ip.txt', 'a')  # 打开 'reachable_ip.txt' 文件,以追加模式写入if 'Reply' in str(ping_result):  # 检查ping结果中是否包含 'Reply'print(ip + ' is reachable.')  # 如果包含 'Reply',打印IP地址是可达的f.write(ip + "\n")  # 将可达的IP地址写入 'reachable_ip.txt' 文件中else:print(ip + ' is not reachable.')  # 如果不包含 'Reply',打印IP地址是不可达的f.close()  # 关闭文件

解释

if os.path.exists('reachable_ip.txt'):os.remove('reachable_ip.txt')#每次我们运行脚本后,都会生成一个reachable_ip.txt的文件,所以我们每次测试的时候都希望测试的结果是本次脚本所写入的内容   
#当存在reachable_ip.txt时,删除它
ip_list = range(2, 5)#如果目的IP多的情况下,可以使用列表的方式来创建IP列表
for ip in ip_list:ip = '192.168.56.' + str(ip)  ping_result = pythonping.ping(ip)  f = open('reachable_ip.txt', 'a')  if 'Reply' in str(ping_result):  print(ip + ' is reachable.')  f.write(ip + "\n")  else:print(ip + ' is not reachable.')  f.close() #遍历IP列表,对每个IP执行ping操作;
#如果ping操作得到回复(即包含 'Reply'),打印出该IP可达,并将其写入到 reachable_ip.txt 文件中;
#如果ping操作没有回复,打印出该IP不可达。

结果

192.168.56.2 is reachable.
192.168.56.3 is reachable.
192.168.56.4 is reachable.Process finished with exit code 0

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/202158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL中的索引①——索引介绍、结构、分类、语法、SQL性能分析

目录 目录 索引概述--> 介绍---> 优缺点---> 索引结构--> ​编辑 存储引擎支持情况---> BTree---> BTree---> Hash---> Hash特点---> 思考题 索引分类--> InnoDB存储引擎中---> 聚集索引---> 二级索引---> 执行过程--…

SpringBootAdmin

SpringBootAdmin 文章目录 SpringBootAdmin创建SpringBootAdmin服务端创建SpringBootAdmin客户端启动应用 总结 github地址 https://github.com/codecentric/spring-boot-admin 可以查到所有的版本号 创建SpringBootAdmin服务端 创建springBoot项目的时候,在ops选项…

外贸平台获客技巧分享!(个人经历)

作为一名从事外贸行业多年的专业人士,我深知在竞争激烈的市场中获取客户的重要性,今天,我想与大家分享一些我在外贸平台上获客的技巧和经验,希望能够帮助到需要的人。 首先,我们需要明确一点,外贸平台是一…

机器学习-特征选择:如何用信息增益提升模型性能?

一、引言 在机器学习领域,模型的性能是衡量其成功与否的核心指标。一个高性能的模型可以准确地预测或分类未见过的数据,这对于各种应用场景如金融风险评估、医疗诊断和自然语言处理等都至关重要。为了构建这样的模型,特征选择成为了一个不可忽…

一键抠图|3个智能AI抠图软件实现抠图自由!

听说你对如何利用AI抠图技术去除白色背景感兴趣?设想一下,你有一张某人站在白色背景前的照片,而你只希望能留下这个人物。在过去,你可能需要花费大量时间和精力手动进行抠图。但现在,AI技术来拯救你了!AI可…

利用COT思维链技术和Prompt提示语工程与微调后的大模型集成方式

COT思维链技术和Prompt提示语工程是通过对模型的输入进行设计和优化,以引导模型生成期望的输出。 COT思维链技术,是一种通过梳理和串联关键信息,形成逻辑严谨、条理清晰的思维链。在使用大型语言模型时,我们可以将这种思维链的关…

2024年MCM/ICM美国大学生数学建模竞赛备战指南

01 2024美赛基本要求 1.关于时间(北京时间) 比赛开始时间: 2024年2月2日6:00至 2024年2月6日9:00 提交截止时间:2024年2月6日10:00 结果发布时间:结果将于2024年5月31日或之前发布 2.关于规则 完整的解决方案现…

WordPress插件无法安装一直失败的原因和解决办法

WordPress建站程序之所以如此受欢迎,最大的原因可能就是拥有丰富多样的插件,可以实现任何想要的功能, 如联系表单、社交媒体分享按钮、搜索引擎优化、自动备份数据库、自动发布文章到社交媒体平台等,但是我们 在安装WordPress插件…

Redis应用-缓存

目录 什么是缓存 使用redis作为缓存 缓存的更新策略 通用的淘汰策略 redis内置的淘汰策略 缓存预热 缓存穿透 缓存雪崩 缓存击穿 什么是缓存 缓存(cache)是计算机中一个经典的概念,在很多的场景中都会涉及到. 核心思路就是把一些常用的数据放到触手可及(访问速度更快…

使用正确的js编写的正则表达式,但是无法匹配

其实只是自己感觉表达式正确而已,其实是错误的。 先直接说答案,.语法无法匹配\n(点语法无法匹配\n),不知道大家有没有恍然大悟。 这里举例子介绍一下: 我现在有一个字符串,例如12!!333!!&…

用OpenCV与MFC写一个图像格式转换及简单处理程序

打开不同格式的图形文件,彩色装灰度图像、锐化、高斯滤波、边界检测及将其存储为需求格式是图像处理的最基本的操作。如果单纯用MFC编程,是一个令人头痛的事情,有不少的代码量。可用OpenCV与MFC编程就变得相对简单。下面来详细演示这一编程操…

敏捷:应对软件定义汽车时代的开发模式变革

随着软件定义汽车典型应用场景的落地,汽车从交通工具转向智能移动终端的趋势愈发明显。几十年前,一台好车的定义主要取决于高性能的底盘操稳与动力系统;几年前,一台好车的定义主要取决于智能化系统与智能交互能否满足终端用户的用…

五肽-13|提亮肤色,美白肌肤

五肽-13 INCI名称:五肽-13 说明: 五肽-13是一种合成肽,由丙氨酸、精氨酸、赖氨酸、脯氨酸和缬氨酸组成 功能: 五肽-13起到增白剂的作用 应用程序: 提亮和美白

MySQL四 | 约束

目录 约束的种类 添加外键约束 在创建表时添加外键 创建表之后添加外键 更新/删除外键约束的规则 删除外键 更新指令 约束是作用于表中字段上的规则,用于限制存储在表中的数据,可以保证数据库中数据的正确,有效性和完整性。 约束的种…

Unity渲染Stats分析

文章目录 前言一、Stats二、我们主要看渲染状态分析1、FPS2、其他状态信息3、DrawCall4、Batch5、Setpass Call6、在Unity中弱化了DrawCall的概念,我们主要看 Batch 和 Setpass Call 三、使用 Batching(合批) 降低 Batch (渲染批次…

23:kotlin类和对象 -- 内联值类(Inline value classes)

有时,将一个值包装在一个类中可以创建一个更具领域特定类型的类。然而,由于额外的堆分配,这会引入运行时开销。此外,如果包装的类型是原始类型,性能损失是显著的,因为原始类型通常由运行时进行了大量优化&a…

【c】杨辉三角

下面介绍两种方法 1.利用上面性质的第五条&#xff0c;我们可以求各行各列的组合数 2.利用上面性质的第7条&#xff0c;我们可以用数组完成 下面附上代码 1. #include<stdio.h> void fact(int n ,int m )//求组合数 {long long int sum11;long long int sum21;int a…

面试被问到 HTTP和HTTPS的区别有哪些?你该如何回答~

HTTP和HTTPS的区别有哪些&#xff0c;主要从以下几个方面来说&#xff1a; 1.安全性 HTTP和HTTPS是两种不同的协议&#xff0c;它们之间最主要的区别在于安全性。HTTP协议以明文方式发送内容&#xff0c;不提供任何方式的数据加密&#xff0c;容易被攻击者截取信息。 HTTPS则在…

ICO 图标

ICO是一种图标文件格式&#xff0c;图标文件可以存储单个图案、多尺寸、多色板的图标文件。一个图标实际上是多张不同格式的图片的集合体&#xff0c;并且还包含了一定的透明区域。 它是图标文件格式的一种&#xff0c;可以存储单个图案、多尺寸、多色板的图标文件。 图标是具…

深入解析Socks5代理技术:保障隐私与网络安全的利器

Socks5代理&#xff0c;作为一种网络通信协议&#xff0c;广泛应用于网络安全、隐私保护以及访问控制等领域。本文将深入探讨Socks5代理的技术原理、特性以及在实际应用中的重要性。 1. Socks5代理的基本原理 Socks5代理是一种开放式协议&#xff0c;主要用于客户端与服务器之…