基于Python标准库Ping远程主机并获得远程主机Mac和主机名的软件实现方法

python

python中的标准库很强大,利用python标准库,可以实现很多功能。
编程基于以下原则:一是完全利用python3.7自带的标准库;二是软件界面和数据分离;三是充分考虑代码的复用性和以后的扩展性。
基于以上原则,把整个代码分为两个模块:sub_pingtest_data.py和sub_pingtest_gui.py。下面分别介绍两个模块。

  1. sub_pingtest_data.py
    在这个模块中分别创建了五个类,分别是:检查IP地址是否合法checkip类;输入起始和结束IP地址,返回一个IP地址列表的ipsplit类;根据输入的IP地址获得相应的主机名、域和MAC地址getHostbyIP类;查看是远程主机是否在线CmdPingIP类;一个生产者、消费者的队列线程类QueueThreads。
    检查IP地址是否合法checkip类主要用到python标准库中的re;主要是re.match(pattern,self.ip),其中pattern为ip地址的正则表达式:((???:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))).){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$)。
    返回一个IP地址列表的ipsplit类相对简单。
    获得相应的主机名、域和MAC地址getHostbyIP类,主要利用python标准库中的socket和subprocess.Popen()。
    查看是远程主机是否在线CmdPingIP类,主要利用subprocess.Popen()。
    生产者、消费者的队列线程类QueueThreads,主要用python标准库中的 threading和
    Queue。
  2. sub_pingtest_gui.py ;这个模块主要实现界面设计,其中应用的主要控件包括Label,Entry,LabelFrame,Scrollbar,ttk.Treeview,Button等。
    完整代码请到https://github.com/liufengqiang/net_tool下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值