用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地址,来确定当前有哪些交换机可达

代码

python 复制代码
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()  # 关闭文件

解释

python 复制代码
if os.path.exists('reachable_ip.txt'):
    os.remove('reachable_ip.txt')
        
#每次我们运行脚本后,都会生成一个reachable_ip.txt的文件,所以我们每次测试的时候都希望测试的结果是本次脚本所写入的内容   
#当存在reachable_ip.txt时,删除它
python 复制代码
ip_list = range(2, 5)

#如果目的IP多的情况下,可以使用列表的方式来创建IP列表
python 复制代码
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不可达。

结果

c 复制代码
192.168.56.2 is reachable.
192.168.56.3 is reachable.
192.168.56.4 is reachable.

Process finished with exit code 0
相关推荐
吴秋霖39 分钟前
某音小程序反编译签名加密静态分析
python·算法·小程序
垚垚 Securify 前沿站1 小时前
深入剖析 CSRF 漏洞:原理、危害案例与防护
前端·网络·安全·web安全·网络安全·xss·csrf
金智维科技官方1 小时前
AI驱动的智能流程自动化是什么
人工智能·自动化
西农小陈2 小时前
Python-基于PyQt5,Pillow,pathilb,imageio,moviepy,sys的GIF(动图)制作工具(进阶版)
开发语言·图像处理·python·小程序·pycharm·pyqt·pillow
B站计算机毕业设计超人2 小时前
计算机毕业设计Python+大模型疲劳驾驶检测系统 自动驾驶 面部多信息特征融合的疲劳驾驶检测系统 驾驶员疲劳驾驶风险检测 深度学习 机器学习 大数据
人工智能·python·深度学习·机器学习·自动驾驶·课程设计·数据可视化
惊鸿若梦一书生2 小时前
用Python获取股票数据并实现未来收盘价的预测
开发语言·python
Power++2 小时前
【BUUCTF逆向题】[MRCTF2020]Transform
python·算法·系统安全·密码学·代码复审
垚垚 Securify 前沿站3 小时前
解锁反序列化漏洞:从原理到防护的安全指南
运维·网络·安全·web安全·系统安全
SofterICer3 小时前
GSMA SGP.31 eSIM IoT 架构与需求笔记
网络·笔记
大厂在职_Xbg3 小时前
Dagger2进阶学习
前端·python·学习