[英]Python script to automate number of available ip addresses on my subnet
有人可以帮助我创建可完成这些操作的python脚本。 我正在尝试学习如何使事情自动化。
运行nmap快速扫描并导出到文本文件:
nmap -T4 -F 10.0.0.1/24 > nmap.txt
将文本剪切到IP列表:
cat nmap.txt | grep "Nmap scan report" | awk '{print $5}' | cut -d '.' -f 4 > ip_sub.txt
创建可能的主机列表(列表为1-255):
python -c 'for i in range(255): print i+1' > ip_all.txt
排序文件以准备差异(可以早些做):
cat ip_all.txt | sort -n > ip_all_sort.txt
cat ip_sub.txt | sort -n > ip_sub_sort.txt
在列中创建差异文件:
diff -y ip_all_sort.txt ip_sub_sort.txt > ip_sub_all_diff.txt
现在,计算有多少未使用的IP地址:
grep '<' -o ip_sub_all_diff.txt | wc -l
首先将nmap安装到python。
pip install python-nmap
用法如下所示:
import nmap
nm = nmap.PortScanner()
nm.scan('10.0.0.1')
res = nm.all_hosts()
print res
这样,您可以跳过整个写入文本文件的部分。 res
包含您的信息,您可以将regex用于grep部分,并使用for循环遍历结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.