python - Python中的多个ping脚本

标签 python networking ping

我找不到任何关于 python 和网络的易于学习的好文档。在这种情况下,我只是想制作一个简单的脚本,我可以 ping 一些远程机器。

for ping in range(1,10):
   ip="127.0.0."+str(ping)
   os.system("ping -c 3 %s" % ip)

这样的简单脚本可以很好地 ping 机器,但我想让脚本返回“事件”“无响应”,这让我觉得我也必须查看时间模块,我想想 time.sleep(5) 之后,会有一个 break 语句。这让我觉得 for 里面应该有一个 while 循环。我不是 100% 肯定,我可能完全走错了方向:/如果有人可以帮助或指出一些很棒的文档的方向。

最佳答案

试试 subprocess.call。它保存了所使用程序的返回值。

根据我的 ping 手册,成功返回 0,发送 ping 但未收到回复时返回 2,任何其他值表示错误。

# typo error in import
import subprocess

for ping in range(1,10):
    address = "127.0.0." + str(ping)
    res = subprocess.call(['ping', '-c', '3', address])
    if res == 0:
        print "ping to", address, "OK"
    elif res == 2:
        print "no response from", address
    else:
        print "ping to", address, "failed!"

关于python - Python中的多个ping脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12101239/

相关文章:

python - 如何在 Python 中伪造/代理一个类

python - 如何统计上一秒下载了多少数据? (FTP)

java - 监听客户端套接字(Android)

php - 错误的 DNS 设置,php_network_getaddresses : getaddrinfo failed Name or service not known, nslookup

go - 如何在没有比赛的情况下延长自动收报机持续时间?

python - 从 Pandas 的每一行创建一个新列

python - 为什么我的代码不能正确拆分扫描的 pdf 中的每一页?

java - 如何处理服务器和客户端中不同的数据包?

java - 测量延迟

c - if then语句c编程