簡體   English   中英

Python腳本可自動實現子網中可用IP地址的數量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM