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