帮我写一个脚本 ping同网段的所有ip并写进txtg
时间: 2024-09-11 18:10:22 浏览: 37
你可以使用Python的`subprocess`模块来执行ping命令,并利用`csv`模块来保存结果到文本文件。以下是一个简单的脚本示例:
```python
import subprocess
import csv
# 定义要ping的IP范围(这里假设是从192.168.1.1到192.168.1.254)
start_ip = "192.168.1.1"
end_ip = "192.168.1.254"
# 创建一个空列表来存储ping的结果
ping_results = []
# 循环遍历IP地址
for ip in range(int(start_ip.split('.')[-1]) + 1, int(end_ip.split('.')[-1]) + 1):
try:
# 使用subprocess.Popen执行ping命令,并获取输出
output = subprocess.check_output(f"ping -c 1 {ip}", shell=True).decode()
# 如果ping成功,提取响应时间
response_time = output.split('time=')[1].split(',')[0]
ping_results.append((ip, response_time))
except Exception as e:
# 如果ping失败,记录错误信息
ping_results.append((ip, str(e)))
# 写入CSV文件
with open('ping_results.txt', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['IP', 'Response Time'])
writer.writerows(ping_results)
阅读全文