一、namp
NMap,也就是Network Mapper,是Linux下的網絡掃描和嗅探工具包。包含四項基本功能:
主機發現(Host Discovery)
端口掃描(Port Scanning)
版本偵測(Version Detection)
操作系統偵測(Operating System Detection)
項目地址:http://nmap.org/download.html
rpm -vhU https://nmap.org/dist/nmap-7.92-1.x86_64.rpm
[root@localhost ~]# tar jxvf nmap-6.40.tar.bz2 [root@localhost nmap-6.40]# ./configure [root@localhost nmap-6.40]# make && make install [root@localhost ~]# nmap 192.168.0.10 #獲取基本信息 [root@localhost ~]# nmap -O 192.168.0.10 #獲取系統版本信息 [root@localhost ~]# nmap -A 192.168.0.10 #獲取系統綜合信息 [root@localhost ~]# nmap 192.168.0.0/24 #獲取一個網段工作設備基本信息
- -sS TCP掃描
- -sV 系統版本檢測
nmap端口狀態解析
open: 應用程序在該端口接收 TCP 連接或者 UDP 報文。 closed:關閉的端口對於nmap也是可訪問的, 它接收nmap探測報文並作出響應。但沒有應用程序在其上監聽。 filtered:由於包過濾阻止探測報文到達端口,nmap無法確定該端口是否開放。過濾可能來自專業的防火牆設備,路由規則 或者主機上的軟件防火牆。 unfiltered:未被過濾狀態意味着端口可訪問,但是nmap無法確定它是開放還是關閉。 只有用於映射防火牆規則集的 ACK 掃描才會把端口分類到這個狀態。 open | filtered:無法確定端口是開放還是被過濾, 開放的端口不響應就是一個例子。沒有響應也可能意味着報文過濾器丟棄了探測報文或者它引發的任何反應。UDP,IP協議,FIN, Null 等掃描會引起。 closed|filtered:(關閉或者被過濾的):無法確定端口是關閉的還是被過濾的
主機發現
-sP :進行ping掃描 # nmap -sP 192.168.20.0/24 //打印出對ping掃描做出響應的主機,不做進一步測試(如端口掃描或者操作系統探測)可以用於探測局域網有哪些機器 -sn: Ping Scan - disable port scan # nmap -sn 192.168.20.0/24 -sA:發送tcp的ack包進行探測,可以探測主機是否存活 # nmap -sA 192.168.20.0/24
端口掃描
掃描tcp端口:
# nmap 192.168.40.134 # nmap 192.168.40.134 -p 1-65535 //區別在於不加-p 時,顯示的都是已知協議的端口,對於未知協議的端口沒顯示 # nmap 192.168.40.134 -p 1-100,27017,27018 //連續的端口可以使用橫線連起來,端口之間可以使用逗號隔開
指定端口范圍使用-p參數,如果不指定要掃描的端口,Nmap默認掃描從1到1024再加上nmap-services列出的端口,假如有的服務不在nmap-services,可能nmap就不會去掃描,這就是明明一些端口已經是處於監聽狀態,nmap默認沒掃描出來的原因,需要加入-p參數讓其掃描所有端口。
掃描udp端口
# nmap -sU 192.168.20.215 //對於udp端口掃描比較慢 -sU:表示udp scan , udp端口掃描 -Pn:不對目標進行ping探測(不判斷主機是否在線)(直接掃描端口)
掃描多個IP用法
# nmap 192.168.40.12 192.168.40.216 // 中間用空格分開 # nmap 192.168.40.215,216 // 使用逗號分割 # nmap 192.168.40.215-218 // 掃描連續的ip地址 # nmap 192.168.40.0/24 // 掃描一個子網網段所有IP # nmap -iL ip.txt // 掃描文件里的IP # nmap 192.168.40.215-218 --exclude 192.168.40.217 // 掃描地址段是排除某個IP地址 # nmap 192.168.40.215-218 --exclude 192.168.40.216-217 //掃描時排除多個IP地址,排除連續的,可以使用橫線連接起來 # nmap 192.168.40.215-218 --exclude 192.168.40.216,192.168.40.217 //掃描時排除多個IP地址,排除分散的,使用逗號隔開 # nmap 192.168.40.215-218 --excludefile ex.txt //掃描多個地址時排除文件里的IP地址
端口掃描的高級用法
Tcp SYN Scan (-sS) //tcp半開放掃描(非3次握手的tcp掃描) 優點:Nmap發送SYN包到遠程主機,但是它不會產生任何會話,目標主機幾乎不會把連接記入系統日志。(防止對方判斷為掃描攻擊),掃描速度快,效率高,在工作中使用頻率最高 缺點:它需要root/administrator權限執行 # nmap -sS 192.168.20.215 Tcp connect() scan(-sT) //tcp全開放掃描(3次握手方式tcp的掃描) 默認的掃描模式,不同於Tcp SYN掃描,Tcp connect()掃描需要完成三次握手,並且要求調用系統的connect(). 優點:你勿需root權限。普通用戶也可以使用。 缺點:這種掃描很容易被檢測到,在目標主機的日志中會記錄大批的連接請求以及錯誤信息,由於它要完成3次握手,效率低,速度慢,建議使用-sS # nmap -sT 192.168.20.215 等同於 # nmap 192.168.20.215 Udp scan(-sU) //udp端口的掃描 這種掃描技術用來尋找目標主機打開的UDP端口.它不需要發送任何的SYN包,因為這種技術是針對UDP端口的。UDP掃描發送UDP數據包到目標主機,並等待響應, 如果返回ICMP不可達的錯誤消息,說明端口是關閉的,如果得到正確的適當的回應,說明端口是開放的.udp端口掃描速度比較慢 # nmap -sU 192.168.20.215 FIN scan (-sF) //也是tcp的掃描一種,發送一個FIN標志的數據包 有時候TcpSYN掃描不是最佳的掃描模式,因為有防火牆的存在.目標主機有時候可能有IDS和IPS系統的存在,防火牆會阻止掉SYN數據包。發送一個設置了FIN標志的數據包並不需要完成TCP的握手. 和sS掃描效果差不多,比sT速度快 # nmap -sF 192.168.20.215
版本偵測
-sV:版本檢測(sV),用來掃描目標主機和端口上運行的軟件的版本
nmap -sV 192.168.40.140 Starting Nmap 7.92 ( https://nmap.org ) at 2021-09-02 11:20 CST Nmap scan report for 192.168.40.140 Host is up (0.00011s latency). Not shown: 998 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) 80/tcp open http nginx 1.14.2 MAC Address: 00:0C:29:1E:50:04 (VMware) Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 6.32 seconds
操作系統偵測
Nmap最重要的特點之一是能夠遠程檢測操作系統和軟件,Nmap的OS檢測技術在滲透測試中用來了解遠程主機的操作系統和軟件是非常有用的,通過獲取的信息你可以知道已知的漏洞。Nmap有一個名為的nmap-OS-DB數據庫,該數據庫包含超過2600操作系統的信息。 Nmap把TCP和UDP數據包發送到目標機器上,然后檢查結果和數據庫對照。
nmap -O 192.168.40.140 Starting Nmap 7.92 ( https://nmap.org ) at 2021-09-02 11:21 CST Nmap scan report for 192.168.40.140 Host is up (0.00034s latency). Not shown: 998 closed tcp ports (reset) PORT STATE SERVICE 22/tcp open ssh 80/tcp open http MAC Address: 00:0C:29:1E:50:04 (VMware) Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.6 Network Distance: 1 hop OS detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 1.86 seconds
