最近我在使用eclipse 的python插件实现了一个这样的功能,
在windows环境中,ping 一个ip地址包指定个数,并将ping的过程记录到一个文件中,统计丢包个数,对我这个python菜鸟来说难度还是蛮高
,我测试了几行代码如下:
-
import os,sys,re
-
import subprocess
-
-
-
num=int(input('Enter an Integer:'))
-
#ip=str(input('Enter ip:'))
-
for i in range(68,70):
-
ret=subprocess.check_call('ping 192.168.11.%d -n %d ' %(i,num),shell = True,stdout=open(r'D:\test_case\iptmp.txt','w'), stderr=subprocess.STDOUT)
-
-
-
if ret == 0:
-
print ("%d: is alive" % i)
-
else:
-
print ("%d is down" % i)
执行结果:
Enter an Integer:2
68: is alive
69: is alive
记录到指定文件中的ping的过程如下
正在 Ping 192.168.11.69 具有 32 字节的数据:
来自 192.168.11.136 的回复: 无法访问目标主机。
来自 192.168.11.136 的回复: 无法访问目标主机。
192.168.11.69 的 Ping 统计信息:
数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),
问题:
1、我的环境中,68这个ip应该是alive的,但是 69这个ip是不存在的,为何也判断成了 alive 呢?
2、我该如何实现 统计ping 包丢失个数? 比如 ping 100个报文,中间有几个报文丢掉了,python如何去检查并整理出丢掉的这几个报文。无头绪,记号
阅读(10202) | 评论(0) | 转发(0) |