Linux中NMAP工具的強(qiáng)大功能
安裝Linux后,會(huì)發(fā)現(xiàn)Linux終會(huì)有很都應(yīng)用工具,這些工具的強(qiáng)大用能讓Linux網(wǎng)絡(luò)工程師與系統(tǒng)管理員喜歡得不得了,就比如說NMAP工具。NMAP工具主要的功能就是可以用來判斷網(wǎng)絡(luò)布局、主機(jī)打開的端口與服務(wù)等等。
而這些信息的話對(duì)于管理員提高系統(tǒng)的安全性又具有至關(guān)重要的作用。NMAP為建立使用安全服務(wù)和停運(yùn)不被使用能夠服務(wù)的政策奠定了良好的基礎(chǔ)。
如上圖就是NMAP運(yùn)行的命令結(jié)果。他可以通過對(duì)特定主機(jī)進(jìn)行掃描,以發(fā)現(xiàn)其所采用的操作系統(tǒng)、所打開的端口與采用的服務(wù)等等。不過SMAP是在shell下運(yùn)行的一個(gè)命令其沒有直觀的界面。為此對(duì)于不少Linux系統(tǒng)管理員來說這是一個(gè)難以跨越的障礙。我剛開始的時(shí)候也特別不習(xí)慣,很羨慕Windows下面的一些局域網(wǎng)掃描工具,如流光掃描等等。這些工具都提供了友好的圖形化操作界面。不過后來我用慣了這個(gè)命令之后,反而離不開這個(gè)NMAP命令了。因?yàn)榻?jīng)過多次使用,我發(fā)現(xiàn)了很多其他掃描工具難以實(shí)現(xiàn)的功能。只要靈活使用這個(gè)命令,相比其他掃描工具來說,系統(tǒng)管理員會(huì)有更大的收獲。廢話就不說了,我轉(zhuǎn)入正題,談?wù)勅绾吻捎肗MAP來收集局域網(wǎng)中的主機(jī)信息。
一、掃描一批主機(jī)。
若你正在負(fù)責(zé)你們公司局域網(wǎng)的安全,那么就需要知道企業(yè)局域網(wǎng)中哪些主機(jī)開啟了不需要的服務(wù)與端口。這會(huì)為局域網(wǎng)的安全埋下安全隱患。為此就需要對(duì)局域網(wǎng)的主機(jī)進(jìn)行掃描,以收集開發(fā)的端口與啟用的服務(wù)信息。
NMAP命令就可以實(shí)現(xiàn)這個(gè)目的。因?yàn)镹MAP命令支持CIDR風(fēng)格的地址。如系統(tǒng)管理員可以采用192.168.0.0/24的形式來表示一串IP地址。這是一種通過子網(wǎng)掩碼來表示IP地址串的一種方法。但是很顯然,CIDR命名方法雖然比較簡單但是不夠靈活。如現(xiàn)在企業(yè)中192.168.0.4是一臺(tái)文件服務(wù)器。在掃描的時(shí)候,系統(tǒng)管理員不希望NMAP命令掃描這臺(tái)主機(jī),以免信息外漏給攻擊者提供方便。為此在實(shí)際工作中對(duì)局域網(wǎng)主機(jī)進(jìn)行掃描的時(shí)侯,往往需要過濾某些特定的主機(jī)。另外也不希望對(duì)192.168.0.0等特殊的地址進(jìn)行掃描,因?yàn)檫@些是廣播地址,不對(duì)標(biāo)特定的主機(jī)?,F(xiàn)在市面上的掃描軟件基本上都支持CIDR風(fēng)格的IP地址。但是NMAP卻可以把某些特定的IP地址過濾掉,或者只收集一些特定IP地址主機(jī)的信息。
如NMAP命令后面可以利用逗號(hào)來分隔多個(gè)IP地址,還可以通過范圍列表來選定特定IP地址的主機(jī)。不過當(dāng)需要掃描的主機(jī)比較多時(shí),通過手工輸入的方式將會(huì)很麻煩。而NMAP命令最值得我推薦的就是可以從一個(gè)列表中制定需要掃描的IP地址信息。也就是說,系統(tǒng)管理員可以預(yù)先把需要收集信息的主機(jī)的IP地址保存在一個(gè)文件中。然后讓NMAP命令從這個(gè)文件中讀取IP地址信息。這即省去了輸入的麻煩,提高了工作效率;而且這個(gè)文件還可以重復(fù)使用。如利用“nmap –iL 文件名”的方式即可。我現(xiàn)在在企業(yè)中是利用DHCP服務(wù)器來管理IP地址的。IP地址分配即有動(dòng)態(tài)的、又有靜態(tài)的。我會(huì)定期對(duì)局域網(wǎng)內(nèi)的主機(jī)進(jìn)行掃描,以防止用戶打開了不安全的端口。在掃描的時(shí)候如果主機(jī)比較多,需要花費(fèi)比較多的時(shí)間。為此我是采用循環(huán)掃描的方式,如一次掃描50臺(tái)主機(jī)等等,一個(gè)月剛好循環(huán)一次。為了達(dá)到這個(gè)目的,我就從DHCP服務(wù)器中導(dǎo)出了所有在用的IP地址列表,然后制作成一個(gè)文本文件。注意NMAP命令不支持EXCEL格式的文件,所以需要把這個(gè)列表轉(zhuǎn)換成文本格式的文件。然后我就可以利用“nmap –iL 文件名”命令來掃描文件中規(guī)定IP地址的主機(jī),收集有用的信息,以保障局域網(wǎng)內(nèi)主機(jī)的安全。
二、過濾特定的主機(jī)。
在企業(yè)網(wǎng)絡(luò)中,有些IP地址對(duì)應(yīng)著特殊的服務(wù)。無論是出于安全考慮還是性能方面的考慮,都不希望NMAP命令對(duì)這些IP地址所對(duì)應(yīng)的主機(jī)進(jìn)行掃描。如192.168.0.2可能是企業(yè)局域網(wǎng)中的一臺(tái)網(wǎng)絡(luò)打印機(jī)。對(duì)這個(gè)IP地址進(jìn)行掃描往往沒有多大實(shí)際的價(jià)值,除了浪費(fèi)時(shí)間就是增加系統(tǒng)管理員的閱讀量。為此系統(tǒng)管理員希望在使用這個(gè)命令進(jìn)行掃描的時(shí)候,能夠過濾一些特定的主機(jī),以縮短掃描的時(shí)間、簡化掃描的結(jié)果。NMAP命令支持用戶的這種需求。
如系統(tǒng)管理員可以通過exclued參數(shù)來排除不需要收集信息的主機(jī)。如nmap exclude 192.168.0.2,192.168.0.3就表示用戶不需要對(duì)這兩個(gè)IP地址的主機(jī)進(jìn)行掃描。也就是說如果掃描范圍內(nèi)有一些主機(jī)不需要掃描,則可以利用逗號(hào)把它們分開,并通過Exclued參數(shù)來實(shí)現(xiàn)過濾。這個(gè)參數(shù)后面不但可以接IP地址,而且還可以接主機(jī)名、CIDR格式的IP地址名等等。通常情況下掃描的網(wǎng)絡(luò)中如果包含正在執(zhí)行關(guān)鍵任務(wù)的服務(wù)器、對(duì)端口掃描反應(yīng)強(qiáng)烈的應(yīng)用程序,這功能通常很有用。
但是當(dāng)過濾的主機(jī)比較多時(shí),如果采用一個(gè)個(gè)的輸入IP地址來實(shí)現(xiàn),也是非常不方便的。如果系統(tǒng)管理員正在這么做的話,那對(duì)于這個(gè)命令可能還只是一知半解。其實(shí)這個(gè)Exclued參數(shù)還有一個(gè)同父異母的兄弟,即excludefile。顧名思義,這個(gè)參數(shù)后面可以接一個(gè)文本文件。在這個(gè)文本文件中包含的IP地址都將會(huì)被過濾掉。它的實(shí)際作用,跟Exclued參數(shù)一樣,只是其所排除的目標(biāo)主機(jī)信息是從一個(gè)文件中取得的,而不是在命令行中輸入的。這個(gè)文件中的IP地址或者主機(jī)名字可以用換行符、空格、或者制表符分隔。顯然通過文件的形式來保存需要過濾的主機(jī)信息,不但可以提高掃描的效率,而且在下次掃描時(shí)還可以重復(fù)利用。
我現(xiàn)在特別喜歡使用NMAP命令來收集相關(guān)的主機(jī)信息,最主要的就是看中這個(gè)功能??梢宰孨MAP命令從特定的文件中讀取IP地址或者主機(jī)名字信息,然后通過參數(shù)選項(xiàng)來實(shí)現(xiàn)從列表中收集主機(jī)信息或者過濾某些特定的主機(jī)。這可以在很大程度上提高我們的工作效率,提高NMAP命令的靈活性。
三、隨機(jī)選擇目標(biāo)主機(jī)收集信息。
有時(shí)候出于研究或者測(cè)試的需要,要隨即的選擇IP地址進(jìn)行掃描,并收集端口、服務(wù)等相關(guān)信息。Nmap命令也支持對(duì)網(wǎng)絡(luò)上的主機(jī)進(jìn)行隨即掃描。這主要是借助于iR選項(xiàng),這個(gè)選項(xiàng)后面需要跟一個(gè)整數(shù)類型的數(shù)字。若是0的話,則表示永無休止的掃描。由于掃描不但會(huì)引起用戶的反感,而且也會(huì)影響本機(jī)的性能,為此這個(gè)永無休止的掃描最好不要用。若跟著是其他數(shù)字的話,則表示需要隨機(jī)生成多少個(gè)IP地址進(jìn)行掃絕。注意這里生成的IP地址是隨機(jī)的,而不是從小到大或者從大到小。只有如此這個(gè)命令收集起來的信息才具有參考的價(jià)值。另外值得稱道的是,使用者選項(xiàng)的時(shí)候,如果其生成的主機(jī)地址中包含了組播或者未分配的IP地址的話,則這個(gè)命令會(huì)自動(dòng)略過。顯然這是一個(gè)很人性化的設(shè)計(jì)。
再次強(qiáng)調(diào)一下,對(duì)網(wǎng)絡(luò)上的主機(jī)進(jìn)行掃描的話,會(huì)一件“害人害己”的事情。因?yàn)橛行┎僮飨到y(tǒng)或者應(yīng)用程序?qū)τ诰W(wǎng)絡(luò)掃描很敏感,掃描可能會(huì)影響他們的正常運(yùn)行。另外掃描也需要耗費(fèi)本機(jī)的大量資源。為此及時(shí)采用SMAP命令進(jìn)行掃描的話,一次性掃描的主機(jī)也不宜過多,而且頻率也不要臺(tái)過于頻繁。如果企業(yè)網(wǎng)絡(luò)中客戶端比較多的話,那么分次批量掃描收集信息是比較合理的選擇。
另外NMAP命令雖然是一個(gè)在Linux操作系統(tǒng)上運(yùn)行的開源掃描工具。但是其不僅可以掃描Linux的客戶端,而且還可以掃描包括Windows操作系統(tǒng)在內(nèi)的客戶端。他通過一些標(biāo)示符來區(qū)分是什么類型的操作系統(tǒng)。而且,即使客戶端時(shí)一臺(tái)網(wǎng)絡(luò)打印機(jī),NMAP命令也可以掃描并收集相關(guān)重要的信息。上面這張截圖中所收集的信息就是一臺(tái)網(wǎng)絡(luò)打印機(jī)的啟用的端口與服務(wù)信息。這就可以幫助系統(tǒng)管理員把企業(yè)網(wǎng)絡(luò)中的設(shè)備一網(wǎng)打盡。
這就是NMAP工具的強(qiáng)大功能。
現(xiàn)在Linux操作系統(tǒng)中的命令越來越多,你了解這些命令么?本文為你講解ipvsadm命令的知識(shí),主要的是進(jìn)行了一個(gè)簡單的翻譯,希望對(duì)ipvsadm命令的使用者有一定的幫助。
為了更好的讓大家理解這份命令手冊(cè),將手冊(cè)里面用到的幾個(gè)術(shù)語先簡單的介紹一下:1,virtual-service-address:是指虛擬服務(wù)器的ip 地址2,real-service-address:是指真實(shí)服務(wù)器的ip 地址3,scheduler:調(diào)度方法
ipvsadm 的用法和格式如下:ipvsadm -A|E -t|u|f virutal-service-address:port [-s scheduler] [-p [timeout]] [-M netmask] ipvsadm -D -t|u|f virtual-service-address ipvsadm -C ipvsadm -R ipvsadm -S [-n] ipvsadm -a|e -t|u|f service-address:port -r real-server-address:port [-g|i|m] [-w weight] ipvsadm -d -t|u|f service-address -r server-address ipvsadm -L|l [options] ipvsadm -Z [-t|u|f service-address] ipvsadm ——set tcp tcpfin udp ipvsadm ——start-daemon state [——mcast-interface interface] ipvsadm ——stop-daemon ipvsadm -h命令選項(xiàng)解釋:有兩種命令選項(xiàng)格式,長的和短的,具有相同的意思。在實(shí)際使用時(shí),兩種都可以。
-A ——add-service 在內(nèi)核的虛擬服務(wù)器表中添加一條新的虛擬服務(wù)器記錄。也就是增加一臺(tái)新的虛擬服務(wù)器。
-E ——edit-service 編輯內(nèi)核虛擬服務(wù)器表中的一條虛擬服務(wù)器記錄。
-D ——delete-service 刪除內(nèi)核虛擬服務(wù)器表中的一條虛擬服務(wù)器記錄。
-C ——clear 清除內(nèi)核虛擬服務(wù)器表中的所有記錄。
-R ——restore 恢復(fù)虛擬服務(wù)器規(guī)則-S ——save 保存虛擬服務(wù)器規(guī)則,輸出為-R 選項(xiàng)可讀的格式-a ——add-server 在內(nèi)核虛擬服務(wù)器表的一條記錄里添加一條新的真實(shí)服務(wù)器記錄。也就是在一個(gè)虛擬服務(wù)器中增加一臺(tái)新的真實(shí)服務(wù)器-e ——edit-server 編輯一條虛擬服務(wù)器記錄中的某條真實(shí)服務(wù)器記錄-d ——delete-server 刪除一條虛擬服務(wù)器記錄中的某條真實(shí)服務(wù)器記錄-L|-l ——list 顯示內(nèi)核虛擬服務(wù)器表-Z ——zero 虛擬服務(wù)表計(jì)數(shù)器清零(清空當(dāng)前的連接數(shù)量等)
——set tcp tcpfin udp 設(shè)置連接超時(shí)值——start-daemon 啟動(dòng)同步守護(hù)進(jìn)程。他后面可以是master 或backup,用來說明LVS Router 是master 或是backup.在這個(gè)功能上也可以采用keepalived 的VRRP 功能。
——stop-daemon 停止同步守護(hù)進(jìn)程-h ——help 顯示幫助信息其他的選項(xiàng):-t ——tcp-service service-address 說明虛擬服務(wù)器提供的是tcp 的服務(wù)[vip:port] or [real-server-ip:port] -u ——udp-service service-address 說明虛擬服務(wù)器提供的是udp 的服務(wù)[vip:port] or [real-server-ip:port] -f ——fwmark-service fwmark 說明是經(jīng)過iptables 標(biāo)記過的服務(wù)類型。
-s ——scheduler scheduler 使用的調(diào)度算法,有這樣幾個(gè)選項(xiàng)rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,默認(rèn)的調(diào)度算法是: wlc. -p ——persistent [timeout] 持久穩(wěn)固的服務(wù)。這個(gè)選項(xiàng)的意思是來自同一個(gè)客戶的多次請(qǐng)求,將被同一臺(tái)真實(shí)的服務(wù)器處理。timeout 的默認(rèn)值為300 秒。
-M ——netmask netmask persistent granularity mask -r ——real-server server-address 真實(shí)的服務(wù)器[Real-Server:port] -g ——gatewaying 指定LVS 的工作模式為直接路由模式(也是LVS 默認(rèn)的模式)
-i ——ipip 指定LVS 的工作模式為隧道模式-m ——masquerading 指定LVS 的工作模式為NAT 模式-w ——weight weight 真實(shí)服務(wù)器的權(quán)值——mcast-interface interface 指定組播的同步接口-c ——connection 顯示LVS 目前的連接 如:ipvsadm -L -c——timeout 顯示tcp tcpfin udp 的timeout 值 如:ipvsadm -L ——timeout——daemon 顯示同步守護(hù)進(jìn)程狀態(tài)——stats 顯示統(tǒng)計(jì)信息——rate 顯示速率信息——sort 對(duì)虛擬服務(wù)器和真實(shí)服務(wù)器排序輸出——numeric -n 輸出IP 地址和端口的數(shù)字形式。
希望對(duì)你學(xué)習(xí)ipvsadm命令有所幫助。
【編輯推薦】