Scanner是壹種自動檢測遠程或本地主機安全弱點的程序。通過使用掃描器,可以不留痕跡的找到遠程服務器的各種TCP端口的分布,提供的服務及其軟件版本!這可以讓我們間接地或直觀地了解遠程主機的安全問題。
端口是潛在的通信通道,即入侵通道。通過掃描目標計算機的端口,可以獲得很多有用的信息。掃描的方式有很多種,可以手動,也可以用端口掃描軟件。
手動掃描時,需要熟悉各種命令。執行命令後分析輸出。用掃描軟件掃描時,很多掃描儀軟件都有分析數據的功能。
通過端口掃描,可以得到很多有用的信息,從而發現系統的安全漏洞。
以上定義僅針對網絡通信端口,端口掃描在某些場合也可以定義為廣泛的設備端口掃描。比如壹些管理軟件可以動態掃描各種電腦外設端口的開啟狀態,並對其進行管理和監控。這樣的系統很常見,比如USB管理系統和各種外設管理系統。
2掃描工具編輯
Scanner是壹種自動檢測遠程或本地主機安全弱點的程序。通過使用掃描器,可以不留痕跡的找到遠程服務器的各種TCP端口的分布,提供的服務及其軟件版本!這可以讓我們間接地或直觀地了解遠程主機的安全問題。
3工作原理編輯
掃描器通過選擇遠程TCP/IP不同端口的服務,記錄目標給出的答案(比如我可以匿名登錄嗎!是否有可寫的FTP目錄,是否可以使用TELNET,以及HTTPD是用ROOT還是nobady運行。
4技術分類編輯
1,打開掃描;
2.半開放式掃描;
3.隱藏掃描。
5其他相關編輯
功能
Scanner不是直接攻擊網絡漏洞的程序,它只能幫助我們找到目標機器的壹些內部弱點。壹個好的掃描器可以分析它得到的數據,幫助我們找到目標主機的漏洞。但它不會提供進入系統的詳細步驟。
掃描儀應該有三個功能:找到主機或網絡的能力;壹旦找到壹臺主機,它就有能力找出這臺主機上正在運行什麽服務;通過測試這些服務來發現漏洞的能力。
編寫掃描儀程序需要大量的TCP/IP編程和C、Perl和/或SHELL語言的知識。需要壹些套接字編程的背景,這是壹種開發客戶端/服務應用程序的方法。開發掃描儀是壹個雄心勃勃的項目,這通常會讓程序員感到滿意。
通道數
代理服務器通常使用以下端口:
⑴.HTTP協議代理服務器常用端口號:80/8080/3128/8081/9080。
⑵.Socks代理協議服務器的常用端口號:1080。
⑶.FTP(文件傳輸)協議代理服務器的常用端口號:21。
(4) ⑷.Telnet(遠程登錄)協議代理服務器公共端口:23
HTTP服務器,默認端口號為80/tcp(特洛伊執行器開放此端口);
Https(安全傳輸網頁)服務器,默認端口號為443/TCP 443/UDP;
Telnet(不安全文本傳輸),默認端口號為23/TCP(Tiny Telnet服務器打開的端口);
FTP,默認端口號為21/tcp(木馬多利特洛伊、Fore、隱形FTP、WebEx、WinCrash、Blade Runner打開的端口);
TFTP(普通文件傳輸協議),默認端口號為69/UDP;;
SSH(安全登錄)、SCP(文件傳輸)、端口重定向,默認端口號為22/TCP;;
Smtp簡單郵件傳輸協議(e-mail),默認端口號為25/tcp(特洛伊抗原、郵件密碼發件人、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都開放此端口);
POP3郵局協議(電子郵件),默認端口號為110/TCP;
WebLogic,默認端口號為7001;
Webshpere應用程序,默認端口號為9080;
Webshpere管理工具,默認端口號為9090;
JBOSS,默認端口號為8080;
TOMCAT,默認端口號為8080;
WIN2003遠程登錄,默認端口號為3389;
Symantec AV/Filter for MSE,默認端口號為8081;
Oracle數據庫,默認端口號為1521;
ORACLE EMCTL,默認端口號為1158;
Oracle XDB(XML數據庫),默認端口號為8080;
Oracle XDB FTP服務,默認端口號為2100;
MS SQL*SERVER數據庫服務器,默認端口號為1433/TCP 1433/UDP;
MS SQL*SERVER數據庫監視器,默認端口號為1434/TCP 1434/UDP;
QQ,默認端口號為1080/udp[1]。
掃描分類
TCP連接()掃描
這是最基本的TCP掃描。操作系統提供的connect()系統調用用於連接每個感興趣的目標計算機的端口。如果端口正在偵聽,那麽connect()可以成功。否則,該端口不可用,即不提供服務。這項技術最大的壹個好處就是不需要任何許可。系統中的任何用戶都有權使用此呼叫。另壹個優勢是速度。如果以線性方式對每個目標端口使用單獨的connect()調用,將會花費很長時間。可以通過同時打開多個套接字來加快掃描速度。使用非阻塞I/O允許您設置較低的超時時間,並同時觀察多個套接字。但這種方法的缺點是容易被發現和過濾掉。目標電腦的日誌文件會顯示壹系列連接和連接錯誤的服務信息,可以快速關閉。
TCP SYN掃描
這種技術通常被認為是“半開”掃描,因為掃描器不需要打開壹個完整的TCP連接。掃描器發送壹個SYN包,好像要打開壹個實際的連接,等待響應(參考TCP的三次握手中建立TCP連接的過程)。SYN|ACK的返回信息表示端口正在偵聽。RST返回,表明端口沒有監聽。如果收到SYN|ACK,掃描器必須發送另壹個RST信號來關閉連接過程。這種掃描技術的優點是壹般不會在目標計算機上留下記錄。但是,這種方法的壹個缺點是,您必須擁有root權限才能構建自己的SYN包。
TCP FIN掃描
有時候可能SYN掃描不夠隱秘。壹些防火墻和包過濾會監控壹些指定的端口,壹些程序可以檢測到這些掃描。相反,FIN數據包可能會順利通過。這種掃描方法的思想是,關閉的端口將使用適當的RST回復FIN數據包。另壹方面,開放端口忽略對FIN數據包的回復。這種方法與系統的實現有壹定的關系。有些系統無論端口是否打開都會回復RST,因此這種掃描方法不適用。這種方法對於區分Unix和NT非常有用。
IP段掃描
這不是新方法,而是其他技術的改變。它不是直接發送TCP探測包,而是將包分成兩個更小的IP段。通過這種方式,壹個TCP報頭被分成幾個分組,這使得過濾器難以檢測。但是要小心。有些程序在處理這些小數據包時會遇到壹些麻煩。
TCP反向識別掃描
Ident協議允許(rfc1413)查看通過TCP連接的任何進程的所有者的用戶名,即使該連接不是由此進程啟動的。例如,您可以連接到。FTP服務器(版本Wu-2.4 (3) Tue Jun 11...)準備好。
220 lem FTP服務器(SunOS 4.1)就緒。
220 xxx。FTP服務器(版本wu-2.4⑾四月二十七日星期六...)準備好。
220 elios FTP服務器(SunOS 4.1)就緒
這種方法不成功的情況:
220 wcarchive。FTP服務器(版本DG-2 . 0 . 39 Sun 5月4日...)準備好。
220 xxx.xx.xx .版本吳-2 . 4 . 2-academ[BETA-12]⑴2月7日
220 ftp微軟ftp服務(3.0版)。
220 xxx FTP服務器(版本Wu-2 . 4 . 2-academ[BETA-11]⑴9月3日星期二...)準備好。
220 xxx。FTP服務器(版本Wu-2 . 4 . 2-academ[BETA-13]⑹...)準備好。
無法掃描
該方法與上述方法的區別在於使用了UDP協議。因為這個協議很簡單,所以掃描變得相對困難。這是因為開放端口不向掃描探針發送確認,而關閉端口不需要發送錯誤包。幸運的是,當您向未打開的UDP端口發送數據包時,許多主機會返回ICMP_PORT_UNREACH錯誤。所以妳可以找出哪個端口是關閉的。UDP和ICMP錯誤不能保證到達,所以當壹個包似乎丟失時,這個掃描器也必須實現重傳。這種掃描方式非常慢,因為RFC規定了ICMP錯誤消息的生成速率。同樣,這種掃描方法需要root權限。
掃描
當非root用戶無法直接讀取root unreachable錯誤時,Linux可以在用戶到達時間接通知用戶。例如,在關閉的端口上第二次調用write()將會失敗。在非阻塞UDP套接字上調用recvfrom()時,如果ICMP錯誤沒有到達,將返回EAGAIN-重試。如果ICMP到達,返回econrefused-連接被拒絕。這是用於查看端口是否打開的技術。
這不是真正的掃描。但是有時通過ping判斷主機是否在網絡上打開是非常有用的。[2]