有人可以帮我创建一个可以执行这些操作的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
对文件进行排序以准备diff(之前可以这样做):
cat ip_all.txt | sort -n > ip_all_sort.txt
cat ip_sub.txt | sort -n > ip_sub_sort.txt
在列中创建diff文件:
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
答案 0 :(得分:0)
首先将nmap安装到python。
pip install python-nmap
用法如下:
import nmap
nm = nmap.PortScanner()
nm.scan('10.0.0.1')
res = nm.all_hosts()
print res
这样您就可以跳过整个写入文本文件的部分。 res
包含您可以将正则表达式用于grep部分的信息,使用for循环遍历结果。