簡介
NMAP是一款流行的網絡掃描和嗅探工具也是一個強大的端口掃描類安全測評工具,被廣泛應用在黑客領域做漏洞探測以及安全掃描,更多的nmap是一個好用的網絡工具,在生產和開發中也經常用到,主要做端口開放性檢測和局域網信息的查看收集等,不同Linux發行版包管理中一般也帶有nmap工具,這里選擇去官網下載源碼包進行編譯安裝,nmap的官網是是:https://namp.org由於某城牆的原因,打開會比較慢或者連接失敗,所以奉上nmap中文網地址:http://www.nmap.com.cn/ 中文網里面也有比較全的使用手冊。
安裝
小編這里使用的是CentOS6.5
第一種安裝方式(RPM)
可以使用系統光盤自帶的rpm包進行安裝,也可以在官網上下載rpm安裝使用
rpm -ivh nmap-7.60-1.x86_64.rpm
第二種安裝方式(編譯)
tar jxvf nmap-7.60.tar.bz2 -C /usr/src/ //解包 cd /usr/src/nmap-7.60/ ./configure && make && make install //配置編譯並安裝
記這里一次坑
應該編譯安裝完成之后會在/usr/bin/下生成nmap的執行程序,可是我在執行時出現如下情況
#nmap -v
-bash: /usr/bin/nmap: 沒有那個文件或目錄
后來使用which命令發現nmap程序在/usr/local/bin/下
#which nmap /usr/local/bin/nmap
好吧,現在只能手動的將他移動到/usr/bin/下
mv /usr/local/bin nmap /usr/bin/
就這樣。。。
使用
man手冊:http://linux.51yip.com/search/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端口

[root@aery ~]# nmap 127.0.0.1 Starting Nmap 7.60 ( https://nmap.org ) at 2017-09-21 10:19 CST mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers Nmap scan report for localhost (127.0.0.1) Host is up (0.0000030s latency). Not shown: 996 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 111/tcp open rpcbind 631/tcp open ipp Nmap done: 1 IP address (1 host up) scanned in 0.10 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