python查看ip是否通_python如何检测IP通不通

本文介绍了使用Python检测服务器IP是否可达的两种方法:一是通过调用shell中的ping命令,适用于少量服务器;二是利用fping命令,适合大量服务器的快速检测。通过读取数据库中的IP列表,分别执行ping脚本和fping脚本,并根据结果更新数据库中IP的状态。
摘要由CSDN通过智能技术生成

python检测服务器是否ping通的2种方法

1、第一种比较挫,就是用ping,python调用shell,这个适用于较少的服务器数量,几百台已经很慢了(当然是说python同步的方法,要是nodejs异步方式还是很快的,但是nodejs CPU计算不行,所以尝试了下只能200台左右的服务器可以同时ping,再多的话程序也会崩掉)

shell脚本再简单不过了,ping.sh如下:#!/bin/bash

PING=`ping -c 3 $1 | grep '0 received' | wc -l`

echo $PING

其实很简单,ping 3个包,只要ping通,上述返回的结果就不是0。$1是传入的第一个参数,即IP。

思路很简单的,从数据库读出IP列表,然后调用上述脚本:#检查ip能否ping通

#0:正常,1:ping不通

def check_ip_ping():

record = get_ip() #从数据库中读取的IP列表

for i in range(0,len(record)):

p = subprocess.Popen([r'./ping.sh',record[i]],stdout=subprocess.PIPE)

result = p.stdout.read()

Status = 0

if result =='1

':

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值