编写一个脚本实现指定参数的远程主机网络探测
import sys
import subprocess
from my_logger import setup_logging
logger = setup_logging("demo017")
logger.info("开始准备探测IP地址")
# 接收命令参数
start_ip = int(sys.argv[1])
end_ip = int(sys.argv[2])
logger.info(f"start ip:{start_ip}")
logger.info(f"end ip:{end_ip}")
# 探测ip并记录结果
for ip in range(start_ip, end_ip + 1):
base_ip = "192.168.0."
logger.info(f"正在探测{base_ip}{ip}")
result = subprocess.run(["ping", "-c", "1", f"{base_ip}{ip}"], stdout=subprocess.PIPE)
if result.returncode == 0:
logger.info(f"{base_ip}{ip}网络畅通")
else:
logger.info(f"{base_ip}{ip}网络阻塞")
# 执行结束
logger.info("指定网络探测结束")
在终端中输入 python demo017.py 10 100
可探测192.168.0.10 ~ 192.168.0.100 间的网络