3分钟教你如何使用Python开发一个批量ping小工具?

admin 2024年10月14日16:16:50评论11 views字数 1304阅读4分20秒阅读模式

点击上方网络技术干货圈选择设为星标

优质文章,及时送达

3分钟教你如何使用Python开发一个批量ping小工具?

转载请注明以下内容:

来源:公众号【网络技术干货圈】

作者:圈圈

ID:wljsghq

使用 Python 开发一个批量 ping 的小工具,可以利用 Python 的 os 或 subprocess 模块来执行系统命令。

3分钟教你如何使用Python开发一个批量ping小工具?

首先,确保你的 Python 环境可以执行外部命令。在 Windows 上,你可以直接使用 ping 命令;而在 Linux 或 macOS 上,可能需要通过 /bin/ping 或者 /usr/bin/ping 来指定正确的命令路径。

这里提供一个基本的脚本,它接受一个 IP 地址列表,并对每个 IP 地址执行 ping 操作:

import subprocessimport platformdef ping_host(ip):    # 根据操作系统选择合适的ping命令    command = ["ping", "-c", "1", ip] if platform.system().lower() == 'linux' else ["ping", ip]    # 执行ping命令    response = subprocess.call(command, stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)    # 判断是否成功    if response == 0:        print(f"{ip} is reachable.")    else:        print(f"Failed to reach {ip}.")def batch_ping(ips):    for ip in ips:        ping_host(ip)if __name__ == "__main__":    # IP地址列表    ip_list = [        "192.168.3.9",        "192.168.3.66"    ]    batch_ping(ip_list)

在这个脚本中,我们定义了一个 ping_host 函数,该函数根据当前操作系统(Linux 或 Windows)构造不同的 ping 命令。对于 Linux 系统,使用 -c 1 参数来发送单个 ICMP 请求包;对于 Windows,则直接使用 ping 命令。subprocess.call() 用于执行命令,并且我们将标准输出和错误输出重定向到空设备文件,以避免命令结果打印到控制台。

batch_ping 函数遍历 IP 地址列表,并对每个 IP 地址调用 ping_host 函数。

注意:这个脚本没有进行错误处理和输入验证,实际应用中你需要添加这些功能来增强程序的健壮性。此外,在生产环境中运行此类脚本之前,请确保你有权限对目标 IP 地址执行 ping 操作。

我们运行一下这个脚本试一下:

3分钟教你如何使用Python开发一个批量ping小工具?

可以看到控制台打印:

192.168.3.9 is reachable.192.168.3.66 is reachable.
3分钟教你如何使用Python开发一个批量ping小工具?

怎么样,是不是很简单?

赶快去试试,你还可以根据自己的需要植入更多的功能。

---END---
重磅!网络技术干货圈-技术交流群已成立
扫码可添加小编微信,申请进群。
一定要备注:工种+地点+学校/公司+昵称(如网络工程师+南京+苏宁+猪八戒),根据格式备注,可更快被通过且邀请进群
3分钟教你如何使用Python开发一个批量ping小工具?
▲长按加群

3分钟教你如何使用Python开发一个批量ping小工具?

原文始发于微信公众号(网络技术干货圈):3分钟教你如何使用Python开发一个批量ping小工具?

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月14日16:16:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   3分钟教你如何使用Python开发一个批量ping小工具?https://cn-sec.com/archives/3266122.html

发表评论

匿名网友 填写信息