2021-05-12 14:32:11
Ubuntu 18.04及其他版本Linux 下 Nmap 網路掃描工具的安裝與使用
本文介紹在Ubuntu 18.04及其他版本Linux 下 Nmap 網路掃描工具的安裝與使用方法。
Nmap(“Network Mapper”)是一個用於網路探索和安全審計的開源工具。它被設計用來快速掃描大型網路,儘管它在單主機上執行良好。
NMAP是一款流行的網路掃描和嗅探工具也是一個強大的埠掃描類安全測評工具,被廣泛應用在安全掃描,nmap是一個好用的網路工具,在生產和開發中也經常用到,主要做埠開放性檢測和區域網資訊的檢視收集等,不同Linux發行版包管理中一般也帶有nmap工具,這裡選擇去官網下載原始碼包進行編譯安裝,nmap的官網是是:https://namp.org。
Nmap支援在Windows、Unix/Linux以及MAC OS平台下執行。它的設計目標是快速地掃描大型網路,當然用它掃描單個主機也沒有問題。Nmap以新穎的方式使用原始IP報文來發現網路上有哪些主機、那些主機提供什麼服務(應用程式名和版本)、那些服務執行在什麼作業系統(包括版本資訊)、它們使用什麼型別的報文過濾器/防火牆,以及一堆其它功能。
Linux下安裝方法:
方法1:
Ubuntu Linux使用 apt-get install nmap 可以直接安裝 nmap。LaMont Jones 維護了Nmap 的 deb 安裝包。穩定的版本在 http://packages.debian.org/stable/nmap, 開發的版本(不穩定的版本)在 http://packages.debian.org/unstable/nmap 和 http://packages.debian.org/unstable/zenmap。
方法2:
Nmap Debian 版本可能比當前的版本晚一年甚至更長的時間。如果想獲取最新版本,可以用原始碼編譯。 參考:https://www.linuxidc.com/Linux/2019-08/160068.htm。
方法3:
另一種方式是下載 RPM 格式的 nmap 包,然後使用 alien 工具把他轉換成 debian 包,再用 dpkg 工具安裝。
步驟如下:
1.安裝 alien do apt-get install alien
2.下載 Nmap RPMs 從 https://nmap.org/download.html。這裡用 nmap-7.80-1.x86_64.rpm
3.驗證下載的完整性,參考:https://nmap.org/book/install.html
4.轉化 sudo alien nmap-7.80-1.x86_64.rpm
5.安裝 sudo dpkg --install nmap_7.80-1_amd64.deb
方法4:
linuxidc@linuxidc:~/www.linuxidc.com$ snap install nmap
檢測是否安裝成功:
linuxidc@linuxidc:~/www.linuxidc.com$ nmap -v
附:
Linux RPM源和二進位制檔案
許多流行的Linux發行版(RedHat,Mandrake,SUSE等)使用RPM包管理系統來快速簡便地進行二進位制包安裝。 我們已經編寫了一個安裝RPM包的詳細指南,儘管這些簡單的命令通常可以解決問題:
rpm -vhU https://nmap.org/dist/nmap-7.80-1.x86_64.rpm
rpm -vhU https://nmap.org/dist/zenmap-7.80-1.noarch.rpm
rpm -vhU https://nmap.org/dist/ncat-7.80-1.x86_64.rpm
rpm -vhU https://nmap.org/dist/nping-0.7.80-1.x86_64.rpm
您也可以自己下載並安裝RPM:
最新穩定版:
x86-64 (64-bit Linux) Nmap RPM: nmap-7.80-1.x86_64.rpm
x86-64 (64-bit Linux) Ncat RPM: ncat-7.80-1.x86_64.rpm
x86-64 (64-bit Linux) Nping RPM: nping-0.7.80-1.x86_64.rpm
可選的 Zenmap GUI (所有平台): zenmap-7.80-1.noarch.rpm
RPM原始碼(包括Nmap,Zenmap,Ncat和Nping): nmap-7.80-1.src.rpm
Nmap使用:
掃描語法及型別
命令格式
nmap [掃描型別] [選項] <掃描目標...>
其中,掃描目標可以是主機名、ip地址或網路地址等,多個目標以空格分隔;常用的選項有"-p"、"-n",分別用來指定掃描的埠、禁止反向解析(以加快掃描速度);掃描型別決定著掃描的方式,也直接影響掃描結果。
比較常用的幾種掃面型別:
- -sS, TCP SYN 掃描(半開掃描):只向目標發出 SYN 封包,如果收到SYN/ACK響應包就認為目標埠正在監聽,並立即斷開連線;否則認為目標埠並未開放。
- -sT,TCP 連線掃描:這完整的 TCP 掃描方式,用來建立一個 TCP 連線,如果成功則認為目標埠正在監聽服務,否則認為目標埠並未開放。
- -sF,TCP FIN 掃描:開放的埠會忽略這種封包,關閉的埠會響應 RST 封包。許多防火牆只對 SYN 封包進行簡單過濾,而忽略其他形式的 TCP 攻擊包。這種型別的掃描可間接檢測防火牆的健壯性。
- -sU,UDP 掃描:探測目標主機提供哪些 UDP 服務,UDP 掃描的速度會比較慢。
- -sP,ICMP 掃描:類似 ping 檢測,快速判斷目標主機是否存活的,不做其他掃描。
- -P0,跳過 ping 檢測:這種方式認為所有的目標主機是存活的,當對方不響應ICMP請求時,使用這種方式可以避免因無法 ping 通而放棄掃描。
範例
*針對本機進行掃描,檢測開放了哪些常用的TCP埠、UDP埠
linuxidc@linuxidc:~/www.linuxidc.com$ nmap 127.0.0.1
Starting Nmap 7.80 ( https://nmap.org ) at 2019-08-14 20:38 CDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000067s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
25/tcp open smtp
631/tcp open ipp
3306/tcp open MySQL
5432/tcp open postgresql
Nmap done: 1 IP address (1 host up) scanned in 1.33 seconds
如下圖:
在掃描結果中,STATE列若為 open 則表示開放狀態,為 filtered 表示可能被防火牆過濾,為 closed 表示埠為關閉狀態。
*檢測 192.168.10.0/24 網段中哪些主機提供FTP服務
nmap -p 21 192.168.10.0/24
*快速檢測192.168.10.0/24網段中有哪些存活主機(能 ping 通)
nmap -n -sP 192.168.10.0/24
*檢測IP地址位於192.168.10.100~200 的主機是否開啟檔案共用
nmap -p 139,445 192.168.10.100-200
下面,nmap工具的基本用法:
掃描特定主機:#nmap 192.168.1.2
掃描整個子網:#nmap 192.168.1.1/24
掃描多個目標:#nmap 192.168.1.2 192.168.1.5
掃描一個範圍內主機:#nmap 192.168.1.1-100 (掃描IP地址為192.168.1.1-192.168.1.100內的所有主機)
向目標傳送兩個ping封包:#nmap -sn -PE -c 2 --send-ip 192.168.1.1
相關文章