Nmap (网络扫描工具)
?簡介
????????也就是Network Mapper,最早是Linux下的網絡掃描和嗅探工具包)是一個網絡連接端掃描軟件,用來掃描網上電腦開放的網絡連接端。確定哪些服務運行在哪些連接端,并且推斷計算機運行哪個操作系統(這是亦稱 fingerprinting)。
功能
????????1、主機發現
????????2、端口掃描,探測所提供的網絡服務
? ? ? ? 3、操作系統類型和版本偵測
? ? ? ? 4、簡單的漏洞掃描及防火墻規避
掃描技術
端口的6個狀態:
????????open:端口是開放的
????????closed:端口是關閉的
????????filtered:端口被 Firewall/IDS/IPS 屏蔽,無法確定其狀態
????????unfiltered:端口沒有被屏蔽,但是否開放需要進一步確定
????????open|filtered:端口是開放的或被屏蔽
????????closed|filtered:端口是關閉的或被屏蔽
-sS(半開放掃描——TCP SYN 掃描)
? ? ? ? Tcp三次握手,最后一步不做的,叫半開掃描,這也是 Nmap 默認的掃描方式。該方式發送 SYN 到目標端口,如果收到 SYN/ACK 回復,那么可以判斷端口是開放的,nmap 會再回復一個 TCP RST 清除連接復位;如果收到 RST 包,說明該端口是關閉的。如果沒有收到回復,那么可以判斷該端口被屏蔽了。因為該方式僅發送 SYN 包對目標主機的特定端口,但不建立完整的 TCP 連接,所以相對比較隱蔽,而且效率比較高,適用范圍廣。
-sT(全開放掃描——TCP Connent 掃描)
?????????Tcp三次握手過程全部完成的叫全開掃描 。TCP Connect 方式使用系統網絡 API Connect 向目標主機的端口發起連接,如果無法連接,說明該端口關閉。該方式掃描速度比較慢,而且由于建立完整的 TCP 連接會在目標主機上留下記錄信息,不夠隱蔽。所以,TCP Connect 是 TCP SYN 無法使用才考慮使用的方式。
-sA (TCP ACK 掃描)
?????????向目標主機的端口發送 ACK 包,如果收到 RST 包,說明該端口沒有被防火墻屏蔽;沒有收到 RST 包,說明被屏蔽。該方式只能用于確定防火墻是否屏蔽某個端口,可以輔助 TCP SYN 的方式來判斷目標主機防火墻的狀況。
-sN/sF/sX (隱蔽掃描——TCP NULL/FIN/Xmas)
?????????這三種掃描方式被稱為秘密掃描,因為相對比較隱蔽。FIN 掃描向目標主機的端口發送的 TCP FIN 包或 Xmas tree 包或 NULL 包,如果收到對方的 RST 回復包,那么說明該端口是關閉的;沒有收到 RST 包說明該端口可能是開放的或者被屏蔽了。其中 Xmas tree 包是指 flags 中 FIN URG PUSH 被置為1的 TCP 包;NULL 包是指所有的 flags 都為0的 TCP 包。
? ? ? ? -sN (半開放掃描)探測掃描主機,只做ping掃描,不進行端口掃描。是Null掃描,是通過發送非常規的TCP通信數據包對計算機進行探測。很多情況下Null掃描與Xmas掃描恰好相反,因為Null掃描不會標記任何數據包,若目標主機的相應端口是關閉的,會響應一個RST數據包,若目標端口是開放的則不會響應任何信息。
-sU (UDP掃描)
?????????UDP 掃描用于判斷 UDP 端口的情況,向目標主機的 UDP 端口發送探測包,如果收到回復 ICMP port unreachable 就說明該端口是關閉的;如果沒有收到回復,那說明該 UDP 端口可能是開放的或者屏蔽的。因此,通過反向排除法的方式來判斷哪些 UDP 端口是可能處于開放狀態的。
常用命令參數
-A(全面掃描)
????????不僅列出目標主機開放的端口號,對應的服務,還較為詳細的列出了服務的版本、其支持的命令、到達目標主機的每一跳路由等信息。在進行完全掃描時,掃描機與目標主機之間存在大量的數據流量交互,掃描時長隨之增加。完全掃描不僅僅是 TCP 協議上的通信交互,還有例如ICMP、HTTP、NBSS、TDS、POP 等等協議的交互,這些協議的交互是因為在完全掃描開始時首先對目標主機的開放端口進行了確認,之后再根據不同對應的不同服務進行服務版本信息探測、賬戶信息等信息的探測。
-sP主機IP地址#通過ping的方式探測主機存活數?-PD主機IP地址#跳過ping的方式探測,加快掃描速度?-sL主機IP地址#僅列出指定網段上的每臺主機,不發送任何報文給到目標主機?-PS22,80,443主機IP地址#用SYN方式,探測目標主機開放的端口,可以用“,”分隔端口列表?-PU主機IP地址#用UDP方式,探測目標主機開放的端口,可以用“,”分隔端口列表?-sT主機IP地址#掃描開放了TCP端口的設備?-sO主機IP地址#探測目標主機支持哪些IP協議?-iL文件名#從一個文件導入IP地址,并進行掃描。#cat文件名(查看文件包含哪些IP)?localhost主機IP地址#查看主機當前開放的端口?-p 1024-65535 localhost主機IP地址#查看主機端口(1024-65535)中開放的端口?-PS主機IP地址#探測目標主機開放的端口?-PS22,80,3306主機IP地址#探測所列出的目標主機端口?-A主機IP地址#探測目標主機操作系統類型????????主機發現?
-PN(跳過Ping掃描階段)
?????????在默認情況下Nmap在進行其他掃描之前,Nmap都會對目標進行一個Ping掃描。如果目標禁止了Ping,那么Nmap發出的Ping掃描就不會有反應。在接不到任何結果返回的情況下,Nmap就會直接結束整個掃描過程,如果是這樣,掃描結果是不準確的。如果遇到這種情況,我們可以使用-PN參數,啟用無Ping掃描,跳過Ping掃描這個過程。
-sP(僅使用Ping協議進行主機發現)
? ? ? ? 加了這個參數Nmap就會僅使用Ping協議進行掃描,只是發送一個ICMP回聲請求和一個TCP報文到目標端口。雖然這樣會有部分主機掃描結果不準確,但速度會非常快。
-PR(使用ARP協議進行主機發現)
?????????ARP協議掃描只適用于局域網內,使用ARP,不僅速度快,而且結果也會更加準確。
-P0#無Ping掃描-PS#TCP SYN Ping掃描?-PA#TCP ACK Ping掃描?-PU#UDPPing掃描?-PE;-PP;-PM#ICMP Ping Types掃描?-PR#ARP Ping掃描?-n#禁止DNS反向解析?-R#反向解析域名?--system-dns#使用系統域名解析器?-sL#掃描列表?-6#掃描IPv6地址?--traceroute#路由跟蹤?-PY#SCTP INIT Ping掃描????????端口探測?
無參數(端口發現)
?????????Nmap 會以默認 TCP SYN 掃描方式進行,僅判斷目標端口是否開放,若開放,則列出端口對應的服務名稱。map默認掃描的端口是1000個,但是實際上電腦的端口范圍是0-65535個。Nmap默認掃描的1000個只是Nmap認為比較常用的1000個端口。
-p (指定端口號或端口號范圍)
????????如果我們想要掃描目標主機的全部端口,我們可以在參數-p后面加上"*",*在計算機中往往指代全部的意思。需要注意的是,如果我們要掃描全部端口,速度必然會非常慢。
????????若既想掃描T CP 端口又想掃描 UDP 端口,則需要在端口號前加上 T:或 U:來分別代表 TCP 和 UDP 協議。注意,要既掃描 TCP 又掃描 UDP,則需要指定 -sU 及至少一個 TCP 掃描類型(-sS 半連接掃描,-sT 全連接掃描等),如果沒有給定協議限定符,端口號會被加到所有協議列表。
-top-ports 端口數(100)(最有可能開放的100個端口)
????????端口數(100)表示掃描最有可能開放的那些端口(TCP和UDP分別100個端口)。?
-T#時序選項?-sS#TCP SYN掃描?-ST#TCP連接掃描?-sU#UDP掃描?-SN;-SF;-sX#隱蔽掃描?-SA#TCPACK掃描?-sW#TCP窗口掃描?-sM#TCPMaimon掃描?--scanflags#自定義TCP掃描?-sI#空閑掃描?-sO#IP協議掃描?-b#FTPBounce掃描????????系統識別?
-sV#版本探測?--allports#全端口版本探測?--version-intensity#設置掃描強度?--version-light#輕量級掃描?--version-all#重量級掃描?--version-trace#獲取詳細版本信息?-sR#RPC掃描?-O#啟用操作系統探測?--osscan-limit#對指定的目標進行操作系統檢測?--oscan-guess;--fuzzy#推測系統識別????????防火墻規避?
-f#報文分段?--mtu#指定偏移大小?-D#IP欺騙?-sl#源地址欺騙?--source-port#源端口欺騙?--data-length#指定發包長度?--randomize-hosts#目標主機隨機排序?--spoof-mac#MAC地址欺騙????????信息收集
--script ip-geolocation-*#IP信息搜集?whois#WHOIS查詢?http-email-harvest#搜集E-mail信息?hostmap-ip2hosts#IP反查?dns-brute#DNS信息搜集?membase-http-info#檢索系統信息?smb-security-mode.nse#后臺打印機服務漏洞?smb-check-vulns.nse#系統漏洞掃描?http-stored-xss.nse#掃描Web漏洞?snmp-win32-services#通過Snmp列舉indows服務賬戶?dns-brute#枚舉DNS服務器的主機名?http-headers/http-sitemap-generator#HTTP信息搜集?ssl-enum-ciphers#枚舉SSL密鑰?ssh-hostkey#SSH服務密鑰信息探測????????保存?
-oN#標準保存?-oX#XML保存?-oS#133t保存?-oG#Grep保存?-oA#保存到所有格式?--append-output#補充保存文件?-oX#轉換XML保存?-oX#忽略XML聲明的XSL樣式表????????其它
--min-hostgroup#調整并行掃描組的大小?--min-parallelism#調整探測報文的并行度?--max-parallelism?--min-rtt-timeout#調整探測報文超時?--max-rt-timeout?--initial-rtt-timeout?--host-timeout#放棄低速目標主機?--scan-delay#調整探測報文的時間間隔?--max-scan-delay --send-eth#發送以太網數據包--send-ip#網絡層發送--privileged#假定擁有所有權--interactive#在交互模式中啟動-V#查看Nmap版本號-d#設置調試級別--packet-trace#跟蹤發送接受的報文--iflist#列舉接口和路由-e#指定網絡接口-oG#繼續中斷掃描firewalk#探測防火墻vmauthd-brute#VWare認證破解總結
以上是生活随笔為你收集整理的Nmap (网络扫描工具)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 集成电路模拟版图入门-版图基础学习笔记(
- 下一篇: 工作62:显示省略号