给我一份Python写的实时监控IP是否ping的通的程序代码给我
时间: 2023-08-31 21:28:09 浏览: 285
### 回答1:
很高兴为您提供帮助。这里是给您写的Python实时监控IP是否ping的通的程序代码:import os
import time#Define the IP address to be monitored
ip_address = "127.0.0.1"#Ping for the response
response = os.system("ping -c 1 " + ip_address)#Check the response
if response == 0:
print (ip_address, 'is up!')
else:
print (ip_address, 'is down!')#Loop forever
while True:
response = os.system("ping -c 1 " + ip_address)
if response == 0:
print (ip_address, 'is up!')
else:
print (ip_address, 'is down!')
time.sleep(1)
### 回答2:
当然,请见下面的代码:
```python
import subprocess
import time
def ping(ip_address):
# 使用subprocess模块执行ping命令
result = subprocess.run(["ping", "-c", "1", ip_address], capture_output=True)
output = result.stdout.decode()
# 检查ping的结果
if "1 packets transmitted, 1 received" in output:
return True
else:
return False
if __name__ == "__main__":
ip_address = "192.168.1.1" # 替换成你要监测的IP地址
while True:
if ping(ip_address):
print(f"{ip_address} is online")
else:
print(f"{ip_address} is offline")
time.sleep(5) # 每隔5秒钟进行一次ping检测
```
上述代码通过使用`subprocess`模块执行ping命令来监测指定IP地址是否可达。在`ping()`函数中,我们通过分析命令输出来确定ping命令的执行结果。然后在主程序中,我们不断循环进行ping检测,并打印出IP地址的在线/离线状态,每次检测间隔为5秒。
你可以将要监测的IP地址替换成你需要的地址。注意,由于`subprocess.run()`函数是在Unix环境下的,在其他系统上可能需要做一些修改。
阅读全文