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