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