Python ping IPv6 主机列表,并根据时间制作可达和不可达主机的字典
Python ping list of IPv6 hosts and make a dictionary of reachable and unreachable hosts with time
以下脚本对 IPv4 工作得很好,但我的工作是对 IPv6 做同样的事情。
#!/usr/bin/python
import pyping
response = pyping.ping('8.8.8.8')
if response.ret_code == 0:
print("reachable")
else:
print("unreachable")
有什么办法..我尝试安装 aioping 或 aio_ping..但是没有用..有什么解决方法可以解决 运行 与上述 [=17] 中的 IPv6 相同的问题=] 机器
使用 multi-ping (pip install multiping
) 文档中的示例:
from multiping import MultiPing
# Create a MultiPing object
mp = MultiPing(["2a00:1450:4005:803::200e"])
# Send the pings to those addresses
mp.send()
# With a 1 second timout, wait for responses (may return sooner if all
# results are received).
responses, no_responses = mp.receive(1)
if responses:
print("reachable: %s" % responses)
if no_responses:
print("unreachable: %s" % no_responses)
查看文档以了解 responses
/no_responses
的结构以及如何同时 ping 多个地址。
以下脚本对 IPv4 工作得很好,但我的工作是对 IPv6 做同样的事情。
#!/usr/bin/python
import pyping
response = pyping.ping('8.8.8.8')
if response.ret_code == 0:
print("reachable")
else:
print("unreachable")
有什么办法..我尝试安装 aioping 或 aio_ping..但是没有用..有什么解决方法可以解决 运行 与上述 [=17] 中的 IPv6 相同的问题=] 机器
使用 multi-ping (pip install multiping
) 文档中的示例:
from multiping import MultiPing
# Create a MultiPing object
mp = MultiPing(["2a00:1450:4005:803::200e"])
# Send the pings to those addresses
mp.send()
# With a 1 second timout, wait for responses (may return sooner if all
# results are received).
responses, no_responses = mp.receive(1)
if responses:
print("reachable: %s" % responses)
if no_responses:
print("unreachable: %s" % no_responses)
查看文档以了解 responses
/no_responses
的结构以及如何同时 ping 多个地址。