这里只扫描0网段的ip,下面是python代码
#!/usr/bin/python3
import subprocess
#定义两个空列表存放ip地址
used_ip=[] #已经被使用的IP
unused_ip=[] #没有被使用的ip
for i in range(1,11):
ip=subprocess.run(f"ping 192.168.0.{i} -c 1 -w 1",shell=True,stdout=subprocess.PIPE)
if ip.returncode==0:
used_ip.append(f"192.168.0.{i}\n")
else:
unused_ip.append(f"192.168.0.{i}\n")
print("使用的ip:")
print(used_ip)
print("没有使用的ip:")
print(unused_ip)
使用到python的subprocess包
使用到的ping命令参数:-c:控制发包数量,-w:设置deadline
returncode:相当于shell脚本的echo ?,如果为0,则说明上一条命令执行成功,反之失败。
输出结果:
