python-nmap使用及詳解


python-nmap使用及詳解

python-nmap安裝及配置

1.nmap安裝:

  這個不用多說了吧,直接官網下載安裝包,根據提示安裝就行了,我把官網地址給大家:Nmap: the Network Mapper - Free Security Scanner

2.python中安裝模塊

  安裝模塊的話,我們安裝python-nmap模塊。正常使用pycharm的話,會有兩個跟nmap相關的,一個是nmap,另一個是python-nmap

我們選擇python-nmap模塊

我用的是pycharm安裝的,如果是命令行模式就(cmd),直接 pip install  python-nmap即可

 3.可以實現的功能:

    • 主機存活狀態:根據目標的反應來確定它是否處於開機並聯網的狀態。
    • 開放的端口掃描 :根據目標端口的反應來判斷它是否開放。
    • 服務及版本檢測:檢測它運行服務的服務類型和版本。
    • 操作系統檢測: 識別主機的操作系統

NOTES:python使用namp的話,我們需要安裝python-nmap模塊,而不是nmap模塊,安裝nmap模塊的話會出現下面這種現象:

Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: module 'nmap' has no attribute 'PortScanner‘
,兩個模塊都下載的話,可能導致運行不了,這個時候咱們需要把他們兩個都卸載,再重新安裝python-nmap即可

使用:

  在我們介紹nmap模塊之前先跟大家說一下這個類:Portscanner()

    PortScanner時python-nmap模塊中非常重要的類,實現nmap掃描有三個類,本文主要針對PortScanner講解

  提這個的原因是小編自己找了好久,一直不知道自己的為什么不能運行,直到。。大佬噴我菜雞,告訴我不行的話就加上nmap的地址。。。汗顏

  所以說你們要是碰到這個問題的話,可以這樣來:  

  nm=nmap.PortScanner(nmap_search_path=('nmap', r"D:\Nmap\nmap.exe"))標注的地方是你們自己nmap安裝的地址奧

接下來開始介紹用法:
拿掃描一個網段的主機存活狀態來說
1.導入庫
   
 import nmap
2.使用PortScanner
    nm=nmap.PortScanner('nmap',r"D:\Nmap\nmap.exe")
3.調用函數scan
    nm.scan('10.0.55.15','10-100')
scan中的參數詳解
scan(self,hosts=‘主機地址(也可以寫成整個網段)’,ports=’端口號‘,arguments=’掃描方式’,callback=None,sudo=False)
這里面的callback是以(host,scan_data)為參數的函數,也就是整個網段的掃描
用到的函數:

 了解了這些,大概的思路不就出來了么,接下來放代碼!!

 

#導入庫
import nmap
#前置信息
nm=nmap.PortScanner(nmap_search_path=('nmap', r"D:\Nmap\nmap.exe"))
nm.scan('10.55.0.15/24',)#掃描整個網段得主機的20-100端口
nm.command_line()#本次掃描的命令
nm.all_hosts()#掃描的所有主機
nm.scaninfo()#掃描的信息列出一個結構
nm.csv()#返回值用csv輸出
#print(nm.scaninfo())
for  host in nm.all_hosts():
    print('=================')
    print(host)#ip地址
    print('State : %s' % nm[host].state())#主機存活狀態

 

 結果如下:

 

 

今天的分享就先到這里了!

這是最基本的掃描判斷主機是否存活,具體的掃描端口,服務等,稍后將會發布,大家一起學習呀!!!

 















免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM