常用的端口掃描技術(shù)及簡(jiǎn)介
——
在手工進(jìn)行掃描時(shí),需要熟悉各種命令。對(duì)命令執(zhí)行后的輸出進(jìn)行分析。用掃描軟件進(jìn)行掃描時(shí),許多掃描器軟件都有分析數(shù)據(jù)的功能。
通過端口掃描,可以得到許多有用的信息,從而發(fā)現(xiàn)系統(tǒng)的安全漏洞。
什么是掃描器
掃描器是一種自動(dòng)檢測(cè)遠(yuǎn)程或本地主機(jī)安全性弱點(diǎn)的程序,通過使用掃描器你可一不留痕跡的發(fā)現(xiàn)遠(yuǎn)程服務(wù)器的各種TCP端口的分配及提供的服務(wù)和它們的軟件版本!這就能讓我們間接的或直觀的了解到遠(yuǎn)程主機(jī)所存在的安全問題。
工作原理
掃描器通過選用遠(yuǎn)程TCP/IP不同的端口的服務(wù),并記錄目標(biāo)給予的回答,通過這種方法,可以搜集到很多關(guān)于目標(biāo)主機(jī)的各種有用的信息(比如:是否能用匿名登陸!是否有可寫的FTP目錄,是否能用TELNET,HTTPD是用ROOT還是nobady在跑!)
掃描器能干什么
掃描器并不是一個(gè)直接的攻擊網(wǎng)絡(luò)漏洞的程序,它僅僅能幫助我們發(fā)現(xiàn)目標(biāo)機(jī)的某些內(nèi)在的弱點(diǎn)。一個(gè)好的掃描器能對(duì)它得到的數(shù)據(jù)進(jìn)行分析,幫助我們查找目標(biāo)主機(jī)的漏洞。但它不會(huì)提供進(jìn)入一個(gè)系統(tǒng)的詳細(xì)步驟。
掃描器應(yīng)該有三項(xiàng)功能:發(fā)現(xiàn)一個(gè)主機(jī)或網(wǎng)絡(luò)的能力;一旦發(fā)現(xiàn)一臺(tái)主機(jī),有發(fā)現(xiàn)什么服務(wù)正運(yùn)行在這臺(tái)主機(jī)上的能力;通過測(cè)試這些服務(wù),發(fā)現(xiàn)漏洞的能力。
編寫掃描器程序必須要很多TCP/IP程序編寫和C, Perl和或SHELL語(yǔ)言的知識(shí)。需要一些Socket編程的背景,一種在開發(fā)客戶/服務(wù)應(yīng)用程序的方法。開發(fā)一個(gè)掃描器是一個(gè)雄心勃勃的項(xiàng)目,通常能使程序員感到很滿意。
常用的端口掃描技術(shù)
TCP connect() 掃描
這是最基本的TCP掃描。操作系統(tǒng)提供的connect()系統(tǒng)調(diào)用,用來(lái)與每一個(gè)感興趣的目標(biāo)計(jì)算機(jī)的端口進(jìn)行連接。如果端口處于偵聽狀態(tài),那么connect()就能成功。否則,這個(gè)端口是不能用的,即沒有提供服務(wù)。這個(gè)技術(shù)的一個(gè)最大的優(yōu)點(diǎn)是,你不需要任何權(quán)限。系統(tǒng)中的任何用戶都有權(quán)利使用這個(gè)調(diào)用。另一個(gè)好處就是速度。如果對(duì)每個(gè)目標(biāo)端口以線性的方式,使用單獨(dú)的connect()調(diào)用,那么將會(huì)花費(fèi)相當(dāng)長(zhǎng)的時(shí)間,你可以通過同時(shí)打開多個(gè)套接字,從而加速掃描。使用非阻塞I/O允許你設(shè)置一個(gè)低的時(shí)間用盡周期,同時(shí)觀察多個(gè)套接字。但這種方法的缺點(diǎn)是很容易被發(fā)覺,并且被過濾掉。目標(biāo)計(jì)算機(jī)的logs文件會(huì)顯示一連串的連接和連接是出錯(cuò)的服務(wù)消息,并且能很快的使它關(guān)閉。
評(píng)論