引言
隨著互聯網的快速發展,網路安全越來越受到關注。很多企業都需要進行網路掃描以確保其系統和網路的安全性。本文將介紹如何使用Python-nmap進行網路掃描。Python-nmap是一個用於使用Nmap進行網路掃描的Python模塊. Nmap是一款開源的網路探測和安全審計工具,可以對大量IP地址和埠進行掃描和識別服務。
Python-nmap的安裝
在開始使用Python-nmap之前,需要先安裝nmap和Python-nmap模塊。
安裝nmap
sudo apt-get install nmap
安裝Python-nmap
pip install python-nmap
Python-nmap的使用
掃描單個IP地址
掃描單個IP地址很簡單。可以使用下面的代碼:
import nmap
nm = nmap.PortScanner()
nm.scan('127.0.0.1', '22-443')
print(nm.all_hosts())
上述代碼表示掃描本地主機(127.0.0.1)之間的埠22-443。輸出IP地址列表。
掃描多個IP地址
如果需要掃描多個IP地址,可以使用下面的代碼:
import nmap
nm = nmap.PortScanner()
nm.scan('192.168.1.1/24', '22-443')
print(nm.all_hosts())
上述代碼表示掃描192.168.1.1/24網段之間的埠22-443,輸出IP地址列表。
獲取所有開放埠
要獲取所有開放的埠,可以使用以下代碼:
import nmap
nm = nmap.PortScanner()
nm.scan('192.168.1.1', arguments='-p-')
result = nm.csv()
print(result)
上述代碼表示掃描192.168.1.1的所有埠,輸出csv格式的結果。csv返回一個字元串,其中包含掃描的結果。
操作掃描結果
掃描的結果可以被存儲在nm對象中。要操作掃描結果,可以使用以下代碼:
import nmap
nm = nmap.PortScanner()
nm.scan('127.0.0.1', '22-443')
for host in nm.all_hosts():
if nm[host].state() == 'up':
for proto in nm[host].all_protocols():
lport = nm[host][proto].keys()
lport.sort()
for port in lport:
print('%s\t%s\t%s\t%s' % (host, proto, port, nm[host][proto][port]['state']))
上述代碼將輸出所有開放埠的IP地址、協議、埠號和狀態。
結論
Python-nmap模塊簡化了對Nmap進行網路掃描的過程。使用Python-nmap可以很容易地掃描單個或多個IP地址上的埠,並操作掃描結果。這種掃描方法可以幫助企業發現並修復其安全性漏洞。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/156555.html