python - 使用 python 和 linux 对主机进行多次 ping
问题描述
我有一些问题。我在 Linux 中,我需要使用 python 一次检查 254 pc 的 ping,例如:
我的 IP 地址为 10.1.1.1 ... 10.1.1.254,我只需要检查我是否已使用 python 成功 ping 到这台电脑。
所以总输出应该是:
电脑 10.1.1.1 Ping
电脑 10.1.1.2 不 Ping
电脑 10.1.1.3 Ping
以此类推,直到 10.1.1.254
解决方案
import subprocess
ips = ["192.168.1.{}".format(i) for i in range(1,255)]
mainList = set()
def ping(ips):
for num,i in enumerate(ips):
print(f'Searching Host {i} Itration Number {num}')
try:
p = subprocess.Popen(['ping', '-c1', i], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
p.communicate(timeout=(0.1))
except subprocess.TimeoutExpired:
pass
else:
print(f'***Host found - Add to array***')
mainList.add(i)
print(mainList)
ping(ips)
推荐阅读
- javascript - JavaScript 通过按钮删除 li 元素
- django - 如何做一个实时搜索表单 ModelChoiceField
- database - 我应该采用哪种方法来设计后端系统中的表格?
- javascript - _this.listCatModel.push 不是函数
- java - 使用毕加索库时无法解析方法 get()
- javascript - Vue.js 监视组件/应用程序之外的 DOM 元素属性
- python - x 为 x 的多变量
- android - viewpager 的标题被隐藏
- sml - 在 SML 中使用二进制映射数据结构的问题
- psql - 如何登录用户下的数据库?