使用Python开导一个批量ping的爱惜具,不错愚弄Python的os或subprocess模块来践诺系统号召。
当先,确保你的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操作。
咱们动手一下这个剧本试一下:
不错看到适度台打印:
192.168.3.9 is reachable.192.168.3.66 is reachable.
何如样,是不是很简短?
飞快去试试,你还不错凭证我方的需要植入更多的功能。