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

news2024/11/24 14:11:25

用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.coloradmin.cn/o/1289030.html

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

相关文章

电商API接口开发和接入说明{包含淘宝/京东/拼多多/抖音}

“为什么改了这个没告诉我” “实际功能和文档上说的不一样啊”。 这些话大家在进行电商API接口开发时,想必耳朵都听出老茧了。 真不是故意的,有时候任务比较急,就先改了代码,想着以后再同步文档,然后就给忘了。 项…

【Vue】vue | npm run build打包缺少模块 | 打包缺少模块代码

一、说明 1、项目时间长了,vue的node_modules依赖竟然到了16个G 2、之前npm run build:prod都是可以的 3、最新一次竟然失败了,说缺少模块 二、解决 1、删除node_modules模块 2、强删缓存 npm cache clear --force 3、删除package-lock.json 4、重新…

【C++】:set和map

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关多态的知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数据结…

HomeAssistant如何添加HACS插件实现公网控制米家与HomeKit等智能家居

HomeAssistant添加HACS插件并实现公网控制米家,HomeKit等智能家居 文章目录 HomeAssistant添加HACS插件并实现公网控制米家,HomeKit等智能家居基本条件一、下载HACS源码二、添加HACS集成三、绑定米家设备 ​ 上文介绍了如何实现群晖Docker部署HomeAssist…

不是Typescript用不起,而是JSDoc更有性价比?

1. TS不香了? 2023年,几条关于 Typescript 的新闻打破了沉寂,让没什么新活好整的前端开发圈子又热闹了一番。 先是 GitHub 的报告称:“TypeScript 取代 Java 成为第三受欢迎语言”。 在其当年度 Octoverse 开源状态报告中&#x…

如何通过navicat连接SQL Server数据库

本文介绍如何通过Navicat 连接SQL Server数据库。如果想了解如何连接Oracle数据库,可以参考下边这篇文章。如何通过Navicat连接Oracle数据库https://sgknight.blog.csdn.net/article/details/132064235 1、新建SQL Server连接配置 打开Navicat软件,点击…

【微信小程序开发】学习小程序的模块化开发(自定义组件和分包加载)

前言 模块化开发是一种将复杂的应用程序分解为一系列独立的模块,每个模块负责完成特定的功能的开发方式。模块化开发可以提高代码的可维护性和可复用性,使开发过程更加高效和灵活。 文章目录 前言模块化开发的重要性和优势自定义组件自定义组件的概念和作…

观测云实现日志存储与分析 10 倍性价比提升|SelectDB 技术团队

作者:观测云 CEO 蒋烁淼 & 飞轮科技技术团队 在云计算逐渐成熟的当下,越来越多的企业开始将业务迁移到云端,传统的监控和故障排查方法已经无法满足企业的需求。而观测云可提供整体数据的分析、洞察、可视化、自动化、监测告警、智能巡查…

【EI征稿中#先投稿,先送审#】第三届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2024)

第三届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2024) 2024 3rd International Conference on Cyber Security, Artificial Intelligence and Digital Economy 第二届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2023&…

使用Selenium模拟人工操作及获取网页内容

使用Selenium抓取网页动态内容 根据权威机构发布的全球互联网可访问性审计报告,全球约有四分之三的网站其内容或部分内容是通过JavaScript动态生成的,这就意味着在浏览器窗口中“查看网页源代码”时无法在HTML代码中找到这些内容,也就是说我们…

Python创建交互式Web应用:Shiny库详解

更多资料获取 📚 个人网站:ipengtao.com Shiny是一个基于Python的交互式Web应用框架,专注于简化Web应用的开发流程。本文将深入探讨Shiny库的基本用法、高级功能以及实际应用案例,以帮助开发者充分发挥Shiny在Web应用开发中的优势…

周大福传世杰作「裕世钻芳华」首次亮相“超越时光”天然钻石展

(2023年12月6日,北京)天然钻石,是自地球深处历经数十亿年时光形成的自然奇迹,在悠长的岁月中见证了无数真挚情感的珍贵瞬间。12月6日,“超越时光”周大福天然钻石展于北京凤凰国际传媒中心启幕,…

基于深度学习YoloV8的火焰烟雾检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介简介YoloV8模型火焰烟雾检测系统模型训练实时检测 应用领域 二、功能三、系统四. 总结 一项目简介 # 基于深度学习YoloV8的火焰烟雾检测系统介绍 简介 深…

JIRA 禁用用户自动登录

概述 当用户登录 JIRA 时,他们可以通过在单击“Log In”按钮之前选中“Remember my login”复选框,让 JIRA 记住他们的登录信息。这样做之后,“Remember my login”令牌将由 JIRA 服务器存储,并且系统会在用户的浏览器中设置包含…

OpenHarmony北向-让更广泛的应用开发者更容易参与

一、标准系统的体验 按照官方文档指导,这样操作,OH标准系统开发板就可以运行开发者开发的OpenHarmony应用了。 二、实际情况 按照开发文档上的说明,肯定是装不上的。因为OH不同的发行版,不同发行板不同的设备,IDE&…

第一篇:MongoDB的安装、启动、关闭、链接shell

目录 简介 安装 安装遇到的问题 查看brew 当前使用的源: 更换brew 源。更换成清华大学镜像源 版本查看 MongoDB 数据目录与日志目录 启动方式一: 启动MongoDB 验证MongoDB 是否正常运行 停止或重新启动 停止MongoDB 服务 重新启动MongoDB服…

阿里测试8年,肝到P8只剩我一个了····

在阿里工作了8年,工作压力大,节奏快,但是从技术上确实得到了成长,尤其是当你维护与大促相关的系统的时候,熬到P7也费了不少心思,小编也是个爱学习的人,把这几年的工作经验整理成了一份完整的笔记…

农用烘干机市场分析:我国市场规模为190亿元

农用烘干机是运用在农业烘干领域的传统干燥设备之一,主要是为了农副产品直接使用或满足进一步加工的需要。农用烘干机具有操作弹性大、适应性强、处理能力大、设备运转可靠等优点,能大幅度提高农副产品烘干效率。现阶段,我国农用烘干机的市场…

【面试经典150 | 二叉树】翻转二叉树

文章目录 写在前面Tag题目来源题目解读解题思路方法一:递归方法二:迭代 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题…

力扣每日一题:2477. 到达首都的最少油耗(2023-12-05)

力扣每日一题 题目:2477. 到达首都的最少油耗 日期:2023-12-05 用时:34 m 15 s 时间:37ms 内存:84.8MB 思路:分别计算每条路上通过的城市数量(数量/座位数,向上取整)&…