首页 > 编程语言 >对大量ip进行批量ping检测的python脚本

对大量ip进行批量ping检测的python脚本

时间:2024-04-18 12:12:25浏览次数:26  
标签:python ip ping host print iplist txt

对大量ip进行批量ping检测的python脚本

import subprocess


def ping_host(host, is_windows):
    """
    发送一个ping请求到指定的主机,并返回ping的结果。
    """
    # 根据操作系统类型选择ping命令和参数
    if is_windows:
        params = ['ping', '-n', '1', host]
    else:
        params = ['ping', '-c', '1', host]

        # 发送ping请求并获取输出
    result = subprocess.run(params, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
    output = result.stdout + result.stderr

    # 分析ping输出
    if is_windows:
        # 对于Windows系统,检查是否有"请求超时"这样的输出
        return "请求超时" not in output
    else:
        # 对于UNIX-like系统,检查是否有"64 bytes from"或"0% packet loss"这样的输出
        return ("64 bytes from" in output) or ("0% packet loss" in output) or (not output)

    # 显示操作系统选择菜单


print("请选择您的操作系统:")
print("1. Windows")
print("2. Linux/macOS")

# 获取用户输入
choice = input("请输入对应的序号:")

# 根据用户输入确定操作系统类型
is_windows = choice == "1"

# 读取iplist.txt文件中的IP地址,"iplist.txt"换成自己的ip字典文件的文件名
with open('iplist.txt', 'r') as file:
    ips = file.read().splitlines()

# 对每个IP地址执行ping操作,并输出结果
for ip in ips:
    if ping_host(ip, is_windows):
        print(f"ping {ip} 是通的")
    else:
        print(f"ping {ip} 不通")
注意:
# 读取iplist.txt文件中的IP地址,"iplist.txt"需换成自己的ip字典文件的文件名
with open('iplist.txt', 'r') as file:
    ips = file.read().splitlines()

 

标签:python,ip,ping,host,print,iplist,txt
From: https://www.cnblogs.com/hkgan/p/18143253

相关文章

  • Python量化交易系统实战--设计交易策略:选股策略
     作者:麦克煎蛋  出处:https://www.cnblogs.com/mazhiyong/转载请保留这段声明,谢谢! 这一节主要是了解基于“动量因子”的选股策略。动量因子指的是股票在一段周期内的涨跌幅度,其本质是追涨杀跌。而选股策略,指的是基于这个因子的表现进行股票筛选,以及买入、卖出的操作。该......
  • 使用Python实时监控服务系统资源
    使用Python实时监控服务系统资源本文介绍如何使用Python的psutil库和matplotlib库来实时监控服务系统资源(CPU、内存、磁盘和网络),并将监控数据以图形化报表的形式展示。第一步:安装必需库首先,我们需要安装所需的库。可以通过pip安装psutil和matplotlib:pipinstallpsutilmatplo......
  • Python 解决控制台输出颜色时出现乱码的问题 (windows平台)
    简介在python开发的过程中,经常会遇到需要打印各种信息。海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性。这时候,如果能给重要的信息加上字体颜色,那么就会更加方便用户阅读了。当然了,控制台的展示效果有限,并不能像前段一样炫酷,只能做一些简单的设置。不......
  • 【python】使用r+模式先读后写和先写后读的区别
    最近学习python时,发现r+(读写)模式先读和先写,写入的位置不一致,经过测试发现:1、先写后读,写从文件开头开始写(覆盖原文),读从写入末尾开始读;2、先读后写,读从文件开头开始读,写从文件末尾开始写。点击查看代码'''test.txt#####随便写点啥######'''#先写后读withopen('test.txt......
  • 通过构建游戏学习-Python(四)
    通过构建游戏学习Python(四)原文:zh.annas-archive.org/md5/8d68d722c94aedcc91006ddf3f78c65a译者:飞龙协议:CCBY-NC-SA4.0第十一章:使用Pygame超越Turtle-使用Pygame制作贪吃蛇游戏UIPython游戏开发在某种程度上与pygame模块相关。到目前为止,我们已经学习了关于Py......
  • 华为云CodeArts IDE For Python 快速使用指南
    本文分享自华为云社区《华为云CodeArtsIDEForPython快速使用指南》,作者:为云PaaS服务小智。CodeArtsIDE带有Python扩展,为Python语言提供了广泛的支持。Python扩展可以利用CodeArtsIDE的代码补全、验证、调试和单元测试等特性,与多种Python解释器协同工作,轻松切换包......
  • 通过构建游戏学习-Python(五)
    通过构建游戏学习Python(五)原文:zh.annas-archive.org/md5/8d68d722c94aedcc91006ddf3f78c65a译者:飞龙协议:CCBY-NC-SA4.0第十四章:了解PyOpenGL几何形状和图形在游戏开发中起着至关重要的作用。当涉及到先进的图形技术的开发时,我们往往忽视它们的重要性。然而,许多流行的游......
  • 精通-Python-系统管理脚本编程(一)
    精通Python系统管理脚本编程(一)原文:zh.annas-archive.org/md5/c33d6613eafa4d86b92059a00f7aa16f译者:飞龙协议:CCBY-NC-SA4.0前言Python已经发展并扩展了其功能,涵盖了几乎所有可能的IT操作。本书将帮助你利用Python的最新功能,编写有效的脚本,并创建用于管理环境的命......
  • 精通-Python-系统管理脚本编程(四)
    精通Python系统管理脚本编程(四)原文:zh.annas-archive.org/md5/c33d6613eafa4d86b92059a00f7aa16f译者:飞龙协议:CCBY-NC-SA4.0第十六章:网络爬虫-从网站提取有用的数据在本章中,您将学习有关网络爬虫的知识。您还将学习Python中的beautifulsoup库,该库用于从网站提取信息。......
  • 现代-Python-秘籍(六)
    现代Python秘籍(六)原文:zh.annas-archive.org/md5/185a6e8218e2ea258a432841b73d4359译者:飞龙协议:CCBY-NC-SA4.0第九章:输入/输出、物理格式和逻辑布局在本章中,我们将看以下配方:使用pathlib处理文件名使用上下文管理器读写文件替换文件并保留先前版本使用C......