nmap亦稱為network mapper(網絡映射)是一個開源并且通用的用于linux系統/網絡管理者的工具。nmap用于探查網絡、執行安全掃描、網絡核查并且在遠端機器上找出開放端口。它可以掃描線上的主機、作業系統、包過濾器和遠端主機上的開放端口。

nmap 指令和示例
我會分兩個章節講述nmap的常見的使用方法,這篇是nmap系列的第一部分(譯注:原文為i’ll be covering most of nmap usage in two different parts and this is the first part of nmap serious,這裡serious可能為筆誤,應該為series)。在這個步驟裡,我用兩個沒有防火牆的伺服器來測試nmap指令的工作。
192.168.0.100 – server1.tecmint.com
192.168.0.101 – server2.tecmint.com
<a target="_blank"></a>
安裝了最新的nmap程式之後,你就可以跟着這篇文章中的示例指令來學習了。
nmap工具提供了不同的方法來掃描一個系統。在這個例子中,我使用主機名為server2.tecmint.com的機器執行掃描來找出所有開放端口,服務和系統上的mac位址。
你可以看到帶"-v"選項的指令給出了關于遠端機器的更多資訊。
你可以簡單地通過在namap後寫上它們的ip位址或者主機名來掃描多台主機。
你可以通過通配符來使nmap掃描整個子網或者ip段。
從上面的輸出你可以看到nmap掃描了整個子網,并給出了網絡中線上主機的資訊。
你可以簡單地通過指定ip位址的最後8位執行掃描多台主機。比如說,這裡我在ip位址為192.168.0.101, 192.168.0.102 and 192.168.0.103的機器上執行了掃描。
如果你有更多的主機要掃描,并且所有的主機都寫在一個檔案中,你可以直接讓namp讀取它并執行掃描。讓我們看看要怎麼做。
建立一個名為“nmaptest.txt”的文本檔案,并定義所有你想要掃描的ip位址或者伺服器的主機名。
接着,帶“il”參數運作nmap指令來掃描檔案中所有列出的ip位址。
在使用nmap掃描時,你可以指定一個ip範圍。
你可以在執行全網掃描的時候排除一些主機,或者在使用通配符掃描時使用“–exclude”選項。
(譯注:原文這裡提到了traceroute,實在并無此内容,删除之)
使用nmap,你可以檢測到運作在遠端主機上的作業系統和版本。要啟用os及其版本檢測,我們可以使用帶 “-a” 選項使用nmap。
在上面的輸出中,你可以看到運作在遠端主機上作業系統的tcp/ip指紋和更詳細的運作在遠端主機上的特定端口和服務。
使用選項“-o”或“-osscan-guess”同樣可以發現os資訊。
下面的指令會在遠端主機上執行掃描來檢測主機上是否使用了任何包過濾器或者防火牆。
掃描檢測一個主機是否受到任何包過濾器軟體或者防火牆保護。
在“-sp”選項的bang幫助下,我們可以簡單地檢測網絡中的主機是否線上,帶這個選項後nmap會跳過端口檢測和其他檢測。
你可以帶“-f”選項僅掃描所有列在nmap-services檔案中的端口。
你可以使用“-v”選項找出運作在你機器上的nmap版本。
使用“-r”選項而不随機排列端口的掃描順序。
你可以使用nmap的“–iflist”選項來列出本機的主機接口和路由資訊。
在上面的輸出中,你可以看到上述清單列出了你系統中的已經啟用的接口及它們相應的路由。(譯注:這樣你就知道可以通過這些接口掃描哪些網絡了)
nmap使用不同的選項來發現遠端機器上的端口。你可以用“-p”選項指定你想掃描的tcp端口。預設上,nmap隻會掃描tcp端口。
當然,你可以指定nmap掃描的端口類型(tcp或udp)和端口号。
你可以使用“-p”選項來指定多個要掃描的端口。
你也可以使用表達式指定掃描端口的範圍。
我們可以使用“-sv”選項找出遠端主機上運作的服務及其版本号。
有時包過濾防火牆阻止了标準icmpping請求,在這個情況下,我們可以使用tcp ack和tcp syn方法來掃描遠端主機。
這些就是目前nmap 的用法,我會寫出更有創造性的nmap的第二部分(譯注:原文為 i’ll be coming up more creative options of nmap in our second part of this serious,這裡serious可能為筆誤,應該為series)。接着,不要走開也别忘了分享你們有價值的評論。
原文釋出時間為:2014-02-12
本文來自雲栖社群合作夥伴“linux中國”