nmap 使用方法 及作用

2021-07-10 02:56:28 字數 4386 閱讀 8768

檢視linux伺服器開啟了哪些埠和服務最好使用netstat命令,但是有些時候不知道開啟的埠到底使用了什麼服務,可以使用nmap來掃瞄,nmap軟體包需要安裝如果是red hat版本nmap包一般是預設安裝的,一下是nmap的使用方法。

ping掃瞄(ping sweeping)]

[埠掃瞄(port scanning)]

[隱蔽掃瞄(stealth scanning)]

[udp掃瞄(udp scanning)]

[作業系統識別(os fingerprinting)]

[ident掃瞄(ident scanning)]

[選項(options)]

[小結]

簡介:最近**報道了許多關於入侵網路的新聞,使人們總以為入侵者只需通過簡單工具就可獲得計算機的訪問許可權.但實際上,事情並不是想象中的這麼簡單.黑客想要入侵一台計算機,首先要有一套完整的計畫.在入侵系統之前,黑客必須先找到一台目標主機,並查出哪些埠在監聽之後才能進行入侵.

找出網路上的主機,測試哪些埠在監聽,這些工作通常是由掃瞄來實現的.掃瞄網路是黑客進行入侵的第一步.通過使用掃瞄器(如nmap)掃瞄網路,尋找存在漏洞的目標主機.一旦發現了有漏洞的目標,接下來就是對監聽埠的掃瞄.nmap通過使用tcp協議棧指紋準確地判斷出被掃主機的作業系統型別.

本文全方位地介紹nmap的使用方法,能讓安全管理員了解在黑客眼中的站點.並通過使用他,安全管理員能發現自己**的漏洞,並逐步完善自己的系統.

乙個攻擊者使用tcp連線掃瞄非常容易被發現,因為nmap將使用connect()系統呼叫開啟目標機上相關埠的連線,並完成三次tcp握手.黑客登入到主機將顯示開放的埠.乙個tcp連線掃瞄使用"-st"命令如下.

# nmap -st 192.168.7.12

starting nmap v. 2.12 by fyodor ([email protected], www.insecure.org/nmap/)

interesting ports on (192.168.7.12):

port state protocol service

7 open tcp echo

9 open tcp discard

13 open tcp daytime

19 open tcp chargen

21 open tcp ftp

...nmap run completed -- 1 ip address (1 host up) scanned in 3 seconds

隱蔽掃瞄(stealth scanning)

如果乙個攻擊者不願在掃瞄時使其資訊被記錄在目標系統日誌上,tcp syn掃瞄可幫你的忙,他非常少會在目標機上留下記錄,三次握手的過程從來都不會完全實現.通過傳送乙個syn包(是tcp協議中的第乙個包)開始一次syn的掃瞄.所有開放的埠都將有乙個syn|ack響應.然而,攻擊者傳送乙個rst替代ack,連線中止.三次握手得不到實現,也就非常少有站點能記錄這樣的探測.如果是關閉的埠,對最初的syn訊號的響應也會是rst,讓nmap知道該埠不在監聽."-ss"命令將傳送乙個syn掃瞄探測主機或網路:

雖然syn掃瞄可能不被注意,但他們仍會被一些入侵檢測系統捕捉.stealth fin,xmas樹和null scans可用於躲避包過濾和可檢測進入受限制埠的syn包.這三個掃瞄器對關閉的埠返回rst,對開放的埠將吸收包.乙個 fin "-sf"掃瞄將傳送乙個fin包到每個埠.

然而xmas掃瞄"-sx"開啟fin, urg和push的標誌位,乙個null scans "-sn"關閉所有的標誌位.因為微軟不支援tcp標準,所以fin, xmas tree和null scans在非微軟公司的作業系統下才有效.

udp掃瞄(udp scanning)

如果乙個攻擊者尋找乙個流行的udp漏洞,比如 rpcbind漏洞或cdc back orifice.為了查出哪些埠在監聽,則進行udp掃瞄,即可知哪些埠對udp是開放的.nmap將傳送乙個o位元組的udp包到每個埠.如果主機返回埠不可達,則表示埠是關閉的.但這種方法受到時間的限制,因為大多數的unix主機限制icmp錯誤速率.幸運的是,nmap本身檢測這種速率並自身減速,也就不會產生溢位主機的情況.

# nmap -su 192.168.7.7

warning: -su is now udp scan -- for tcp fin scan use -sf

starting nmap v. 2.12 by fyodor ([email protected], www.insecure.org/nmap/)

interesting ports on saturnlink.nac.net (192.168.7.7):

port state protocol service

53 open udp domain

111 open udp sunrpc

123 open udp ntp

137 open udp netbios-ns

138 open udp netbios-dgm

177 open udp xdmcp

1024 open udp unknown

nmap run completed -- 1 ip address (1 host up) scanned in 2 seconds

作業系統識別(os fingerprinting)

乙個攻擊者常常尋找一台對於某些程序存在漏洞的計算機.比如,乙個以root執行的web伺服器.如果目標機執行了identd,乙個攻擊者使用nmap通過"-i"選項的tcp連線,就能發現哪個使用者擁有http守護程序.我們將掃瞄乙個linux web伺服器為例:

如果你的web伺服器是錯誤的設定並以root來執行,象上例相同,他將是黎明前的黑暗.

apache執行在root下,是不安全的實踐,你能通過把/etc/indeed.conf中的auth服務登出來阻止ident請求,並重新啟動ident.另外也可用使用ipchains或你的最常用的防火牆,在網路邊界上執行防火牆規則來終止ident請求,這能阻止來路不明的人探測你的**使用者擁有哪些程序.

選項(options)

除了以上這些掃瞄,nmap還提供了無數選項.有乙個是"-pt",,我們已介紹過了.在目標機或網路上常見的未經過濾的埠,進行tcp "ping"掃瞄.

另乙個選項是"-p0".在預設設定下試圖掃瞄乙個埠之前,nmap將用tcp ping" 和 icmp echo命令ping乙個目標機,如果icmp 和tcp的探測掃瞄得不到響應,目標主機或網路就不會被掃瞄,即使他們是執行著的.而"-p0"選項允許在掃瞄之前不進行ping,即可進行掃瞄.

你應該習慣使用"-v"命令,他周詳列出所有資訊,能和所有的掃瞄選項一起使用.你能反覆地使用這個選項,獲得有關目標機的更多資訊.

使用"-p "選項,能指定掃瞄埠.比如 ,攻擊者想探測你的web伺服器的ftp(port 21),telnet (port 23), dns (port 53), http (port 80),想知道你所使用的作業系統,他將使用syn掃瞄.

# nmap -ss -p 21,23,53,80 -o -v

www.yourserver.com

小結:

nmap使用方法

nmap sp 192.168.1.0 24 僅列出指定網路上的每台主機,不傳送任何報文到目標主機 nmap sl 192.168.1.0 24 探測目標主機開放的埠,可以指定乙個以逗號分隔的埠列表 如 ps22,23,25,80 nmap ps 192.168.1.234 nmap ps 127....

nmap使用方法

常用引數 p 指定埠 o作業系統資訊探測 a作業系統指紋和版本探測 v詳細輸出掃瞄情況 sv服務版本探測 spping掃瞄判斷主機是否存活 sn存活主機發現 traceroute 路由追蹤 ilip txt 批量掃瞄ip txt中的目標 指定埠掃瞄 常用指令碼 nmap的指令碼庫存放在 usr sh...

nmap掃瞄使用方法

目錄 首先說明一下埠的幾個狀態 nmap掃瞄使用方法的幾個例項 一 主機發現的幾種探測方式 1 tcp syn方法來掃瞄遠端主機是否存活 2 使用tcp ack掃瞄遠端主機是否存活 3 使用udp掃瞄遠端主機是否存活並指定傳送介面 4 使用sctp 流控制傳輸協議 discovery探測主機是否存活...