端口掃描與檢測技術(shù)的實現(xiàn)畢業(yè)設(shè)計論文.doc
《端口掃描與檢測技術(shù)的實現(xiàn)畢業(yè)設(shè)計論文.doc》由會員分享,可在線閱讀,更多相關(guān)《端口掃描與檢測技術(shù)的實現(xiàn)畢業(yè)設(shè)計論文.doc(34頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、畢畢 業(yè)業(yè) 設(shè)設(shè) 計計( 論論 文文) 端口掃描與檢測技術(shù)的實現(xiàn)端口掃描與檢測技術(shù)的實現(xiàn) 論論文作者姓名:文作者姓名: 申申請請學(xué)位學(xué)位專業(yè)專業(yè): : 申申請請學(xué)位學(xué)位類別類別: : 指指導(dǎo)導(dǎo)教教師師姓姓名名( (職職稱稱) ): : 論論文提交日期:文提交日期: 端口掃描與檢測技術(shù)的實現(xiàn)端口掃描與檢測技術(shù)的實現(xiàn) 摘摘 要要 隨著 Internet 日益廣泛的應(yīng)用,黑客攻擊行為也是有增無減。如何有效地 抵御這種攻擊行為,一直是信息安全領(lǐng)域的焦點。 而其中,端口掃描技術(shù)吸引了越來越多人的關(guān)注。端口掃描是黑客搜集目 標(biāo)主機信息的一種常用方法。為了有效地對付網(wǎng)絡(luò)入侵行為,對端口掃描進行研 究是非常有
2、益和必要的。攻擊者在攻擊一個目標(biāo)時,首先要獲取目標(biāo)的一些基 本信息,端口掃描就是其中最簡單最重要的方法之一,它可以掃描目標(biāo)機器中 開放的端口,從而確定目標(biāo)機器中提供的服務(wù),為下一步攻擊做準(zhǔn)備。針對端 口掃描技術(shù),相應(yīng)的端口掃描檢測技術(shù)顯的越發(fā)重要,作為網(wǎng)絡(luò)安全技術(shù)中的 一個重要課題,端口掃描檢測技術(shù)意義重大。 本文首先闡述了端口掃描技術(shù)以及端口掃描檢測技術(shù)的基本原理和常用方 法,然后在此基礎(chǔ)上設(shè)計了一個對基于網(wǎng)絡(luò)的端口進行掃描,能判斷出目標(biāo)主 機端口開放情況的程序以及一個從網(wǎng)絡(luò)信息的數(shù)據(jù)包的捕獲和分析著手,再通 過統(tǒng)計判斷是否存在端口掃描行為的程序,最后從攻擊和防御的角度對端口掃 描和檢測技術(shù)
3、作了演示及分析。 關(guān)鍵詞關(guān)鍵詞:端口;端口掃描;數(shù)據(jù)包捕獲;端口檢測 The Realization of Port Scanning and Detecting Technology Abstract As the widely applying of Internet, the attacking behavior made by hacker is increasing but not decreasing. How to resist this kind of attacking behavior is always the key point of the domain of the
4、 information security. And the port scanning draws peoples attention more and more. Port scanning is a usual method which is used by the hacker to collect the information of the target main processor. In order to deal with the invading behavior of the Internet effectively, it is very useful and nece
5、ssary to work on the port scanning. When an attacker attacks to a target, he or she will firstly gets some basic information about the target, and the port scanning is one of the most simple and important methods which can scan the opening Port of the target machine to make sure the offering service
6、 made by the target machine, and it is a preparation to the next attacking. The port detecting seems more and more important referring to the port scanning. As an important task of the secure technique of Internet, the port detecting is of great significance. In this thesis, it firstly elaborates th
7、e basic principles and usual methods of the port scanning. On this basis, it then designs a program which can scan the Port of the Internet, and assess the opening situation of the target main processor, and the other program which begins on capturing and analyzing the information packet of Internet
8、, and then assess whether there is a behavior about port scanning through statistic analyses. Lastly, it demonstrates and analyses the technology of port scanning and port detecting from the viewpoint of attacking and resisting. Key Words:port; port scanning; packet capture; port detecting 目目 錄錄 論文總
9、頁數(shù):23 頁 1引言1 1.1本課題研究的意義1 1.2本課題的研究方法2 2端口掃描概述2 2.1基本概念2 2.2端口掃描原理3 2.3端口掃描技術(shù)簡介5 3檢測端口掃描概述7 3.1端口掃描檢測的分析7 3.2普通端口掃描檢測技術(shù)概述8 3.3慢速端口掃描檢測技術(shù)概述9 3.4端口掃描的分布式檢測概述9 3.5主流的端口掃描工具.11 4端口掃描的實現(xiàn).12 4.1掃描程序的設(shè)計原理.12 4.2程序流程圖.12 5檢測端口掃描的實現(xiàn).13 5.1檢測程序的設(shè)計原理.13 5.2程序流程圖.13 5.3設(shè)計實現(xiàn)重點代碼.14 6性能測試.18 6.1端口掃描程序性能測試.18 6.2檢
10、測端口掃描程序性能測試.19 結(jié) 論.20 參考文獻.21 致 謝.22 聲 明.23 第 1 頁 共 23 頁 1 1 引言引言 隨著科學(xué)技術(shù)的飛速發(fā)展,21 世紀(jì)的地球人已經(jīng)生活在信息時代。20 世紀(jì) 人類的兩大科學(xué)技術(shù)成果計算機技術(shù)和網(wǎng)絡(luò)技術(shù),均已深入到人類社會的 各個領(lǐng)域,Internet 把“地球村”的居民們緊密聯(lián)系在一起, “天涯若比鄰” 已然成為現(xiàn)實。 互聯(lián)網(wǎng)之所以能這樣迅速蔓延,被世人所接受,是因為它具備特有的信息 資源。無論對商人、學(xué)者,還是對社會生活中的普通老百姓,只要你進入網(wǎng)絡(luò) 的世界,就能找到其隱藏的奧妙,就能得到你所需要的信息。近年來 Internet 的迅速發(fā)展,給
11、人們的日常生活帶來了全新的感受, “網(wǎng)絡(luò)生存”已經(jīng)成為時尚, 同時人類社會諸如政治、科研、經(jīng)濟、軍事等各種活動對信息網(wǎng)絡(luò)的依賴程度 已經(jīng)越來越強, “網(wǎng)絡(luò)經(jīng)濟”時代已初露端倪。 然而,網(wǎng)絡(luò)技術(shù)的發(fā)展在給我們帶來便利的同時也帶來了巨大的隱患,尤 其是 Internet 和 Intranet 的飛速發(fā)展對網(wǎng)絡(luò)安全提出了前所未有的挑戰(zhàn)。技 術(shù)是一把雙刃劍,不法分子試圖不斷利用新的技術(shù)伺機攻入他人的網(wǎng)絡(luò)系統(tǒng), 而肩負(fù)保護網(wǎng)絡(luò)安全重任的系統(tǒng)管理員則要利用最新的網(wǎng)絡(luò)技術(shù)來防范各種各 樣的非法網(wǎng)絡(luò)入侵行為。事實已經(jīng)證明,隨著互聯(lián)網(wǎng)的日趨普及,在互聯(lián)網(wǎng)上 的犯罪活動也越來越多,特別是 Internet 大范圍
12、的開放以及金融領(lǐng)域網(wǎng)絡(luò)的接 入,使得越來越多的系統(tǒng)遭到入侵攻擊的威脅。而作為黑客入侵的前奏,端口 掃描是最常見的信息獲取手段,端口掃描的檢測技術(shù)在當(dāng)今已經(jīng)越來越成為一 個重要的課題。 本文首先對端口掃描技術(shù)進行研究,并開發(fā)一個能查詢目標(biāo)主機端口開放 情況的程序;然后重點研究端口掃描的檢測技術(shù),從對數(shù)據(jù)包的捕獲和分析著 手,再定義一個判斷是否掃描的條件,并通過統(tǒng)計由定義的掃描條件判斷是否 存在端口掃描行為,不但能對一般的掃描、快速掃描能夠檢測,且在一定程度 上對慢速掃描也能很好的檢測。 1.11.1 本課題研究的意義本課題研究的意義 在今天快速發(fā)展的 Internet 中,黑客攻擊方法層出不窮,
13、網(wǎng)絡(luò)的安全性已 經(jīng)越來越受到威脅。要保證計算機資源的保密性、有效性、完整性也變得越來 越困難。 端口掃描作為黑客攻擊的一個重要方面,也在不停地向前發(fā)展,掃描手段 已經(jīng)變得越來越豐富,越來越隱蔽,越來越具有威脅性。如何有效的對端口掃 描行為進行檢測,已經(jīng)是越來越重要的一個課題,這對于保證我們網(wǎng)絡(luò)的安全 性有著重要的意義,也是入侵檢測系統(tǒng)(IDS)和入侵預(yù)防系統(tǒng)(IPS)的一個 重點。 第 2 頁 共 23 頁 1.21.2 本課題的研究方法本課題的研究方法 本文分別對端口掃描技術(shù)以及端口掃描的檢測技術(shù)作了研究,并設(shè)計出一 個根據(jù)掃描者向目標(biāo)主機的 TCP/IP 服務(wù)端口發(fā)送探測數(shù)據(jù)包,并記錄目標(biāo)
14、主機 的響應(yīng),通過分析響應(yīng)來判斷服務(wù)端口是打開還是關(guān)閉,進而得知端口的狀態(tài) 的端口掃描程序,以及一個從網(wǎng)絡(luò)信息的數(shù)據(jù)包的捕獲和分析著手,通過統(tǒng)計 判斷是否存在端口掃描行為的端口掃描檢測程序。 2 2 端口掃描概述端口掃描概述 2.12.1 基本概念基本概念 端口的含義: 在網(wǎng)絡(luò)技術(shù)中,端口(Port)大致有兩種意思:一是物理意義上的端口,比 如,ADSL Modem、集線器、交換機、路由器用于連接其他網(wǎng)絡(luò)設(shè)備的接口,如 RJ-45 端口、SC 端口等等。二是邏輯意義上的端口,一般是指 TCP/IP 協(xié)議中的 端口,端口號的范圍從 0 到 65535,比如用于瀏覽網(wǎng)頁服務(wù)的 80 端口,用于 F
15、TP 服務(wù)的 21 端口等等。 我們這里將要介紹的就是邏輯意義上的端口。 端口分類: 邏輯意義上的端口有多種分類標(biāo)準(zhǔn),下面將介紹兩種常見的分類: 按端口號分布劃分: (1)知名端口(Well-Known Ports) 知名端口即眾所周知的端口號,范圍從 0 到 1023,這些端口號一般固定分 配給一些服務(wù)。比如 21 端口分配給 FTP 服務(wù),25 端口分配給 SMTP(簡單郵件 傳輸協(xié)議)服務(wù),80 端口分配給 HTTP 服務(wù),135 端口分配給 RPC(遠(yuǎn)程過程調(diào) 用)服務(wù)等等。 (2)動態(tài)端口(Dynamic Ports) 動態(tài)端口的范圍從 1024 到 65535,這些端口號一般不固定
16、分配給某個服務(wù), 也就是說許多服務(wù)都可以使用這些端口。只要運行的程序向系統(tǒng)提出訪問網(wǎng)絡(luò) 的申請,那么系統(tǒng)就可以從這些端口號中分配出一個供該程序使用。比如 1024 端口就是分配給第一個向系統(tǒng)發(fā)出申請的程序。在關(guān)閉程序進程后,就會釋放 所占用的端口號。 不過,動態(tài)端口也常常被病毒木馬程序所利用,如冰河默認(rèn)連接端口是 7626、WAY 2.4 是 8011、Netspy 3.0 是 7306、YAI 病毒是 1024 等等。 按協(xié)議類型劃分: 第 3 頁 共 23 頁 按協(xié)議類型劃分,可以分為 TCP、UDP、IP 和 ICMP(Internet 控制消息協(xié) 議)等端口。下面主要介紹 TCP 和
17、UDP 端口: (1)TCP 端口 TCP 端口,即傳輸控制協(xié)議端口,需要在客戶端和服務(wù)器之間建立連接, 這樣可以提供可靠的數(shù)據(jù)傳輸。常見的包括 FTP 服務(wù)的 21 端口,Telnet 服務(wù) 的 23 端口,SMTP 服務(wù)的 25 端口,以及 HTTP 服務(wù)的 80 端口等等。 (2)UDP 端口 UDP 端口,即用戶數(shù)據(jù)包協(xié)議端口,無需在客戶端和服務(wù)器之間建立連接, 安全性得不到保障。 常見的有 DNS 服務(wù)的 53 端口,SNMP(簡單網(wǎng)絡(luò)管理協(xié)議)服務(wù)的 161 端口, QQ 使用的 8000 和 4000 端口等等。 2.22.2端口掃描原理端口掃描原理 掃描者向目標(biāo)主機的 TCP/
18、IP 服務(wù)端口發(fā)送探測數(shù)據(jù)包,通過探測性數(shù)據(jù)包 得到目標(biāo)主機的響應(yīng)并記錄下來,通過分析響應(yīng)來判斷服務(wù)端口是打開還是關(guān) 閉,進而得知端口的狀態(tài)。 通常通過調(diào)用套接字函數(shù)connect ()連接到目標(biāo)計算機上,完成一個完整 的3次握手程。如果端口處于偵聽狀態(tài),那么connect()就能成功返回。否則, 該端口不可用,即沒有提供服務(wù)。 端口掃描的第一步是向目標(biāo)主機的TCP/UDP端口發(fā)送探測數(shù)據(jù)包,然后根據(jù) 對方的回應(yīng)判斷端口是否開放。由于網(wǎng)絡(luò)環(huán)境的差異以及操作系統(tǒng)對連接請求 的應(yīng)答并不一致,在端口掃描中支持多種掃描方式,以保證掃描的準(zhǔn)確和快速。 大多數(shù)掃描技術(shù)要發(fā)送原始套接字包來進行探測。因為只有
19、原始套接字支持對 IP 報頭的設(shè)置,即構(gòu)造IP 數(shù)據(jù)包。同時,原始套接字也支持發(fā)送和接收IP數(shù) 據(jù)包。這樣,原始套接字接口實際上成為網(wǎng)絡(luò)層向上提供的接口。實現(xiàn)時可通 過調(diào)用Winsock2庫中的函數(shù)setsockopt()來設(shè)置選項IP_HDRINCL,以獲取自定 義IP報頭的權(quán)限。由于Windows2000僅支持Raw ICMP和Raw IGMP,不支持 RawTCP,因此,發(fā)送TCP數(shù)據(jù)包,必須通過設(shè)置選項IP_HDRINCL來構(gòu)造IP報頭。 首先創(chuàng)建原始套接字,定義IP首部。 IPHEADER, TCP偽首部TCPSOCHEADER和TCP首部TCPHEADER,再填充IP首部和 TCP
20、首部,其中,TCP首部中的結(jié)構(gòu)體變量tcpHeader的tcpHeade.th_flag=2,表 示發(fā)送的是SYN數(shù)據(jù)包,修改它可以實現(xiàn)不同的標(biāo)志位探測,如2是SYN,0是 NULL,1是FIN,16是ACK探測等等。因為是自己填充IP首部和TCP首部,所以還 需定義一個計算校驗和函數(shù)checksum來計算IP報頭和TCP報頭的校驗和。在填充 TCP首部時,通過TCP偽首部填充TCP數(shù)據(jù)包的IP選項。事實上TCP偽首部并不是 第 4 頁 共 23 頁 真正存在的,只是用于填充TCP的一些選項和計算校驗和。調(diào)用setsockopt()設(shè) 置選項IP_HDRINCL,根據(jù)填充TCP、IP報頭的內(nèi)容
21、構(gòu)造IP 數(shù)據(jù)包。設(shè)置偵聽原 始套接字的同步和超時之后,調(diào)用sendto()發(fā)送IP 數(shù)據(jù)包。 發(fā)送原始套接字包流程圖如圖1所示: 圖 1 發(fā)送原始套接字包流程圖 原始套接字包發(fā)送完后,就可以接收目標(biāo)主機的回應(yīng)。當(dāng)發(fā)送原始套接字 包時(如TCP SYN數(shù)據(jù)包),操作系統(tǒng)核心并不知道,也沒有此數(shù)據(jù)發(fā)送或者連接 建立的記錄。因此,當(dāng)遠(yuǎn)端主機回應(yīng)時,系統(tǒng)核心就把這些包都全部丟掉,從 而到達不了應(yīng)用程序上。所以,程序中不能簡單地使用接收函數(shù)來接收這些數(shù) 據(jù)包。要達到接收數(shù)據(jù)包的目的,必須采用嗅探,接收所有通過的數(shù)據(jù)包,然 后進行篩選,留下符合需要的。為此可以再定義一個原始套接字,用來接收數(shù) 據(jù),并在套
22、接字I/0控制函數(shù)中設(shè)置SIO_RCVALL,表示接收所有的數(shù)據(jù)。通過設(shè) 置原始套接字的I/0控制命令,便可以調(diào)用recv()接收返回的數(shù)據(jù)包。一般情況 下使用的是TCP SYN半連接掃描,由于TCPConnect()全連接掃描擁有很好的穩(wěn)定 第 5 頁 共 23 頁 性,這種技術(shù)用得非常多。通常通過調(diào)用套接字函數(shù)connect()連接到目標(biāo)計算 機上,完成一個完整的3 次握手過程。如果端口處于偵聽狀態(tài),那么connect() 就能成功返回。否則,該端口不可用,即沒有提供服務(wù)。以上實現(xiàn)的端口掃描, 可以得到每個端口的狀態(tài),此處的狀態(tài)并非端口本身的性質(zhì),而是對掃描結(jié)果 的描述。端口狀態(tài)可以分為5
23、種:open(開放的)、closed(關(guān)閉的)、 filtered(被過濾的)、unfiltered(未被過濾的)和open filtered(開放或者 被過濾的)。 2.32.3端口掃描技術(shù)簡介端口掃描技術(shù)簡介 常用的端口掃描技術(shù)主要有以下幾種: (1)TCP connect() 掃描 這是最基本的TCP掃描。 利用操作系統(tǒng)提供的connect系統(tǒng)調(diào)用,用來與每一個感興趣的目標(biāo)計算機 的端口進行連接。如果端口處于偵聽狀態(tài),則connect就能成功。否則,這個端 口是不能用的,即沒有提供服務(wù)。 這個技術(shù)的最大的優(yōu)點是,用戶不需要任何權(quán)限,系統(tǒng)中的任何用戶都有 權(quán)利使用這個調(diào)用。另一個好處就是速
24、度快。如果對每個目標(biāo)端口以串行的方 式,使用單獨的connect()調(diào)用,那么將會花費相當(dāng)長的時間,用戶可以通過同 時打開多個套接字,從而加速掃描。使用非阻塞I/O允許設(shè)置一個較低的超時時 限,同時觀察多個套接字。但這種方法的缺點是很容易被發(fā)覺,并且被過濾掉。 目標(biāo)計算機的logs文件會顯示一連串的連接和連接是否出錯的服務(wù)消息,并且 能很快地使它關(guān)閉。 (2)TCP SYN掃描 這種技術(shù)通常認(rèn)為是“半開放”掃描,這是因為掃描程序不必要打開一個 完全的TCP連接。 掃描程序發(fā)送的是一個SYN數(shù)據(jù)包,好象準(zhǔn)備打開一個實際的連接并等待反 應(yīng)一樣(參考TCP的三次握手建立一個TCP連接的過程)。一個S
25、YN/ACK 的返回 信息表示端口處于偵聽狀態(tài)。一個RST返回,表示端口沒有處于偵聽?wèi)B(tài)。如果收 到一個SYN/ACK,則掃描程序必須再發(fā)送一個RST信號,來關(guān)閉這個連接過程。 這種掃描技術(shù)的優(yōu)點在于一般不會在目標(biāo)計算機上留下記錄,但這種方法的缺 點是,必須要有root權(quán)限才能建立自己的SYN數(shù)據(jù)包,不過這個條件一般都是很 容易滿足的。 (3)TCP FIN掃描 有的時候有可能SYN掃描都不夠秘密。一些防火墻和包過濾器會對一些指定 的端口進行監(jiān)視,有的程序能檢測到這些掃描。相反,F(xiàn)IN數(shù)據(jù)包可能會順利通 第 6 頁 共 23 頁 過。 這種掃描方法的思想是關(guān)閉的端口會用適當(dāng)?shù)腞ST來回復(fù)FIN數(shù)
26、據(jù)包。另一 方面,打開的端口會忽略對FIN數(shù)據(jù)包的回復(fù)。這種方法和系統(tǒng)的實現(xiàn)有一定的 關(guān)系。如果有的系統(tǒng)不管端口是否打開,都回復(fù)RST,那么這種掃描方法就不適 用了。但這種方法在區(qū)分Unix和NT時是十分有用的。 (4)IP段掃描 這種不能算是新方法,只是其他技術(shù)的變化。 它并不是直接發(fā)送TCP探測數(shù)據(jù)包,是將數(shù)據(jù)包分成二個較小的IP段。這樣 就將一個TCP頭分成好幾個數(shù)據(jù)包,從而過濾器就很難探測到。但一些程序在處 理這些小數(shù)據(jù)包時會有些問題。 (5)FTP返回攻擊 FTP協(xié)議的一個的特點是它支持代理FTP連接。即入侵者可以從自己的計算 機和目標(biāo)主機的FTP server-PI(協(xié)議解釋器)連
27、接,建立一個 控制通信連接。然后,請求這個server-PI激活一個有效的server-DTP(數(shù)據(jù)傳 輸進程)來給Internet上任何地方發(fā)送文件。對于一個User-DTP,這是個推測, 盡管RFC明確定義請求一個服務(wù)器發(fā)送文件到另一個服務(wù)器是可以的,但當(dāng)前的 大多數(shù)實現(xiàn)并不支持,因為這個特性“能用來發(fā)送不能跟蹤的郵件和新聞,給 許多服務(wù)器造成打擊,用盡磁盤,企圖越過防火墻”。 利用FTP返回攻擊的目的是從一個代理的FTP服務(wù)器來掃描TCP端口。這樣, 用戶能在一個防火墻后面連接到一個FTP服務(wù)器,然后掃描端口。如果FTP服務(wù) 器允許從一個目錄讀寫數(shù)據(jù),你就能發(fā)送任意的數(shù)據(jù)到發(fā)現(xiàn)的打開的端
28、口。對 于端口掃描,這個技術(shù)是使用PORT命令來表示被動的User DTP正在目標(biāo)計算機 上的某個端口偵聽。然后入侵者試圖用LIST命令列出當(dāng)前目錄,結(jié)果通過 Server-DIP發(fā)送出去。如果目標(biāo)主機正在某個端口偵聽,傳輸就會成功,(產(chǎn) 生一個150或226的回應(yīng))否則,會出現(xiàn)“425 Cant build data connection:Connection refused.”。然后,使用另一個PORT命令,嘗試目標(biāo) 計算機上的下一個端口。這種方法的優(yōu)點很明顯,難以跟蹤,能穿過防火墻。 主要缺點是速度很慢,有的FTP服務(wù)器最終能得到一些線索,關(guān)閉代理功能。 (6)UDP ICMP端口不能到
29、達掃描 這種方法與上面幾種方法的不同之處在于使用的是UDP協(xié)議。由于這個協(xié)議 很簡單,所以掃描變得相對困難。 這是由于打開的端口對掃描探測并不發(fā)送一個確認(rèn),關(guān)閉的端口也并不需 要發(fā)送一個錯誤數(shù)據(jù)包。幸運的是,許多主機在你向一個未打開UDP端口發(fā)送一 個數(shù)據(jù)包時,會返回一個ICMP_PORT_UNREACH錯誤。這樣你就能發(fā)現(xiàn)哪個端口是 第 7 頁 共 23 頁 關(guān)閉的。UDP和ICMP錯誤都不保證能到達,因此,這種掃描器必須還實現(xiàn)一個在 包看上去是丟失的時候能重新傳輸。這種掃描方法是很慢的,因為RFC對ICMP錯 誤消息的產(chǎn)生速率作了規(guī)定。同樣,這種掃描方法需要具有root權(quán)限。 (7)UDP
30、 recvfrom()和write()掃描。 當(dāng)非root用戶不能直接讀到端口不能到達錯誤時,Linux能間接地在它們到 達時通知用戶。比如,對一個關(guān)閉的端口的第二個write()調(diào)用將失敗。在非阻 塞的UDP套接字上調(diào)用recvfrom()時,如果ICMP出錯還沒有到達時會返回 EAGAIN-重試。如果ICMP到達時,返回ECONNREFUSED-連接被拒絕。這就是用來 查看端口是否打開的技術(shù)。 (8)TCP 反向 ident 掃描 ident 協(xié)議(rfc1413)允許看到通過 TCP 連接的任何進程的擁有者的用戶 名,即使這個連接不是由這個進程開始的。 例如,掃描者能連接到 Http 端
31、口,然后用 ident 來發(fā)現(xiàn)服務(wù)器是否正在以 root 權(quán)限運行。這種方法只能在和目標(biāo)端口建立了一個完整的 TCP 連接后才能 看到。 總之,為了避過目標(biāo)系統(tǒng)的日志審計和防火墻的阻截,為了避過目標(biāo)系統(tǒng) 的端口掃描檢測,入侵者往往會采用一系列方法來改變正常的端口掃描方式, 以達成端口掃描的隱蔽性,這些方法包括:改變掃描端口的順序、慢速掃描、 端口掃描間隔隨機化、隨機化掃描包的其它區(qū)域、偽造源地址掃描和分布式掃 描等。 3 3 檢測端口掃描概述檢測端口掃描概述 3.13.1 端口掃描檢測的分析端口掃描檢測的分析 端口掃描是一臺主機對多個目標(biāo)端口進行試探,包括打開的和沒有打開的 端口。這就為檢測端
32、口掃描提供了兩條“線索”:一是“是否存在試圖連接已 經(jīng)關(guān)閉端口的行為” ;二是“在一段時間內(nèi),是否存在從一個源地址發(fā)出的數(shù)據(jù) 包到達多個目的地址的行為” 。 檢測端口掃描的方法主要有兩種: 一種是對主機沒有對外提供服務(wù)的端口進行監(jiān)聽,如果檢測到有對這樣的 端口的連接請求,就認(rèn)為有掃描發(fā)生; 另一種檢測方法是對整個網(wǎng)絡(luò)流量進行監(jiān)控,檢查網(wǎng)絡(luò)中所有的數(shù)據(jù),并 對異常情況進行記錄。 在本文中,為了便于對端口掃描檢測進行研究,從端口掃描檢測的角度出 發(fā),把端口掃描技術(shù)分為普通掃描,慢速掃描及分布式掃描,并在后面的介紹 第 8 頁 共 23 頁 中分別對不同的檢測方法作了介紹。 3.23.2普通普通端口
33、掃描檢測技術(shù)概述端口掃描檢測技術(shù)概述 目前比較常見的端口掃描就是一對一的掃描關(guān)系,如下圖2所示,即只有一 個掃描者,且掃描者從本身出發(fā),不經(jīng)過任何隱藏通過發(fā)送探測性數(shù)據(jù)包來判 斷目標(biāo)主機的端口開放情況。 圖2 普通掃描技術(shù) 針對這種一對一的普通或快速的端口掃描技術(shù),目前端口掃描的檢測技術(shù) 采用的方法有Snort方法、Watcher方法和PortSentry方法等三種,都能很好的 檢測出這種掃描。 它們進行端口掃描檢測采用的算法大致可以概括如下:在M秒內(nèi),監(jiān)測從同 一源端發(fā)出的數(shù)據(jù)包, 如果其目的IP與目的端口的組合數(shù)目超出N的話, 則認(rèn)為 是一次掃描。 Snort是一個輕量級的網(wǎng)絡(luò)入侵檢測系統(tǒng)
34、。它的探測引擎采用模塊化的插件 結(jié)構(gòu),允許開發(fā)者擴展Snort的功能, 也可以使得用戶可以按自己的需要定制功 能。Snort檢測端口掃描的方法是:在Y秒內(nèi), 如果檢測到從同一個源發(fā)出,目的 為不同的主機和端口的組合的TCP或UDP包的數(shù)目超出閾值X, 則認(rèn)為是掃描。其 中X和Y的值可以由用戶自己設(shè)定。另外, Snort也同樣可以檢測有奇異標(biāo)志的 TCP包。 Watcher是一個比較完整的基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)的設(shè)計代碼。它檢測所 有通過的信息包, 并且將它認(rèn)為是惡意的攻擊行為記錄在syslog中。它的檢測 原理是:如果在短時間內(nèi)有超過7個以上的端口收到信息包(不管類型如何) , 那么這一事件就
35、被當(dāng)成端口掃描記錄下來。 PortSentry是基于主機的網(wǎng)絡(luò)入侵檢測系統(tǒng)的一個組成部分,主要用來檢 測外部對主機的端口掃描,它能夠?qū)Χ喾N掃描方法進行檢測。它的檢測原理是: 對沒有開放服務(wù)的端口的訪問有可能是一次掃描。通過監(jiān)測沒有開放服務(wù)的端 口,在最近n次連接里由同一個源發(fā)起的連接超過X次則判斷為一次掃描。 以上幾種掃描檢測方法對端口掃描所采用的檢測技術(shù)都比較簡單,且存在 第 9 頁 共 23 頁 以下缺點: (1)無法檢測慢速掃描, 因為在檢測中時間窗是個固定值, 只要掃描速度 低于這個閾值, 攻擊者就可以成功地逃避檢測。當(dāng)設(shè)定的時間閾值大到一定程 度時,需要從相當(dāng)長時間的網(wǎng)絡(luò)連接記錄中找
36、出掃描行為,系統(tǒng)資源消耗較大,無 法適應(yīng)寬帶網(wǎng)絡(luò)尤其是高速網(wǎng)絡(luò)環(huán)境; 從理論上講,黑客總能夠以略大于系統(tǒng)設(shè) 定閾值的時間間隔進行端口掃描; (2)未考慮到受保護網(wǎng)段的特點, 對網(wǎng)段內(nèi)所有主機都采用相同的檢測策 略, 效率不高而且容易導(dǎo)致誤報。 3.33.3慢慢速端口掃描檢測技術(shù)概述速端口掃描檢測技術(shù)概述 慢速端口掃描是在普通端口掃描技術(shù)上進化而來的,可以說是黑客技術(shù)提 高的體現(xiàn)。 通常普通端口掃描的掃描者對被掃描者發(fā)送探測性數(shù)據(jù)包都是快速的,被 掃描者在進行捕包判斷上就會顯得比較容易,而慢速掃描與普通掃描一樣,都 是一對一,即掃描者和被掃描者都只有一個,但是其對目標(biāo)主機發(fā)送探測性數(shù) 據(jù)包的時間
37、間隔上就變化很大,可以在1分鐘發(fā)送一個探測性數(shù)據(jù)包后20分鐘再 繼續(xù)發(fā)送探測性數(shù)據(jù)包,也或者在發(fā)送一個探測性數(shù)據(jù)包后時間就遞增,產(chǎn)生 一個時間上的變化,總之給檢測端口掃描帶來了極大的困難,這就需要用新的 規(guī)則,新的技術(shù)來進行端口檢測。 在目前的慢速掃描檢測技術(shù)中,模糊技術(shù)是應(yīng)用的比較好的能檢測出慢速 端口掃描的新型技術(shù)。 3.43.4端口端口掃描的分布式檢測概述掃描的分布式檢測概述 在當(dāng)前端口掃描技術(shù)中,比較難以檢測的是分布式掃描,針對分布式掃描, 不能采取對普通掃描及慢速掃描的檢測方法。 如下圖 3 所示,分布掃描是指掃描者通過控制其他多臺計算機對目標(biāo)主機 進行數(shù)據(jù)包探測,這樣,被掃描者所捕
38、獲的數(shù)據(jù)包就是來自于不同的 IP,但是 實際掃描者通過所控制的計算機對應(yīng)答數(shù)據(jù)包的分析依然能夠判斷出目標(biāo)主機 的端口開放情況,被掃描者雖然所捕獲到的探測性數(shù)據(jù)包其 IP 是正確的,但是 受到了 IP 欺騙,并沒有判斷出真正的掃描者,在這種情況下通常的檢測方法對 分布式掃描是無效的。當(dāng)然,在分布式掃描的基礎(chǔ)上加以慢速掃描,則是更加 難以檢測的掃描技術(shù)。 第 10 頁 共 23 頁 圖 3 分布式掃描技術(shù) 在當(dāng)前的分布式掃描檢測技術(shù)中,最常用的是在進行端口掃描檢測時,將 系統(tǒng)分成兩個部分: 第一部分是傳感器,它的功能是判斷一個包的異常程度,賦給包一個異常 值。如果一個包有異常,則從網(wǎng)絡(luò)數(shù)據(jù)中過濾出
39、來,進行下一步的處理;如果 一個包沒有異常,則簡單地丟棄。 第二部分是分析器,它對異常包進行匯集、分類、分析。首先將異常包根 據(jù)其不同特性分成不同的類,然后再對不同的類計算一個類的異常值總和。如 果一個類的異常值總和超過了閾值,則判斷為掃描。在分布式端口掃描檢測系 統(tǒng)中,傳感器分布在一個大網(wǎng)的各個子網(wǎng)內(nèi),采集網(wǎng)絡(luò)上的各種有關(guān)掃描異常 數(shù)據(jù);而分類器是一個匯總的分析器,通過匯總分析網(wǎng)絡(luò)內(nèi)各個子網(wǎng)的數(shù)據(jù), 可以更好地分析網(wǎng)絡(luò)上出現(xiàn)的掃描情況。 分布式檢測方法具有很多優(yōu)點: 首先,它能夠?qū)崿F(xiàn)分布式掃描的檢測。因為分布式掃描其掃描包具有一定 的異常性,所以這些包可以被第一步的檢測從網(wǎng)絡(luò)數(shù)據(jù)中過濾出來。
40、在第二步 進行分類分析的時候,由于這些分布式掃描的包具有一個共同的特性,即掃描 對象是同一個主機或同一個端口,因此它們可以被聚集到一個類里,從而被檢 測為掃描。其次,這種方法也能夠檢測慢速的掃描。由于網(wǎng)絡(luò)上巨大的通信量, 所以在以前的檢測方法里檢測時間窗T必須很小,否則會消耗掉太多的內(nèi)存和 CPU時間而癱瘓。而采用該方法,由于分析器只需分析處理異常包,因此可以取 一個很大的時間窗T,從而檢測出慢速的掃描。 另外,分布式檢測方法具有很好的實時性。由于傳感器只需要判斷一個包 的異常程度,而不需要判斷是否屬于掃描,因此可以實現(xiàn)一個很快的異常包過 濾器。而傳統(tǒng)的檢測方法,例如,SNORT在接收到一個包
41、以后,首先檢查包的結(jié) 第 11 頁 共 23 頁 構(gòu),然后檢查現(xiàn)有的掃描列表,相對來說是很費時間的。 異常包的檢測: 首先,需要有一個準(zhǔn)則來確定網(wǎng)絡(luò)上一個包的異常程度。通過分析已有的 一些檢測工具、掃描工具、以及入侵者用以躲避掃描檢測的方法,總結(jié)出下面 的包是異常的包: (1)帶有奇怪標(biāo)志位的包有可能是掃描包; (2)沒有正確的執(zhí)行TCP協(xié)議握手過程的包有可能是掃描包; (3)連接后馬上斷開,沒有具體協(xié)議內(nèi)容的包,有可能是掃描包; (4)對沒有開放服務(wù)的端口的連接包有可能是掃描包。 掃描技術(shù)在進步,相應(yīng)的檢測技術(shù)也在相應(yīng)提高,現(xiàn)今還出現(xiàn)了一種新的 檢測分布式掃描的方法,其原理是靠統(tǒng)計流量來進行
42、判斷,也能很好的檢測出 分布式掃描。但是由于網(wǎng)絡(luò)上的流量非常的大,且相當(dāng)?shù)牟还潭?,要定義一定 時間內(nèi)的流量有很大的困難,所以這種檢測方法還存在很多缺陷,容易產(chǎn)生誤 判為端口掃描,也容易放過真正的端口掃描行為。 3.53.5主流的端口掃描工具主流的端口掃描工具 常用的幾種端口掃描檢測器有: NSM(The Network Security Monitor)、Gr IDS、Snort和Portsentry等。 NSM是最早的基于網(wǎng)絡(luò)的入侵檢測系統(tǒng),它認(rèn)為所有與大于15個其它主機建 立連接的主機都是掃描者。這種算法是許多檢測系統(tǒng)檢測算法的雛形。 Gr IDS通過建立網(wǎng)絡(luò)連接拓?fù)鋱D來檢測端口掃描。它使
43、用節(jié)點代表主機, 如果主機間存在數(shù)據(jù)交換,就在相應(yīng)的節(jié)點間連線。一次掃描試探就會在掃描 者的主機和被掃描者的主機之間建立一條連線,Gr IDS通過計算一個節(jié)點上存 在多少連線的方法判斷是不是有端口掃描行為。這種方法不能檢測秘密掃描, 速度相對較慢,具體的端口掃描行為的判斷需要人工完成。 Snort是基于libpcap的一個源代碼公開的輕量級的入侵檢測系統(tǒng)。它的端 口檢測功能是通過一個嵌入程序來完成。Snort的掃描檢測器通過計算“在時間 X秒內(nèi)有Y個TCP或UDP數(shù)據(jù)包從一個源地址發(fā)往不同的目的地址”來確定是否有 端口掃描行為;Snort能查找單個不正常的TCP包。缺點是不能檢測分布式掃描、
44、慢速掃描,不能處理分片。 Portsentry是基于主機的端口掃描檢測器。它指定多個TCP/UDP端口進行監(jiān) 聽,當(dāng)這些端口被試圖連接或掃描時,能在瞬間捕捉連接或掃描企圖;它能有 效捕捉非連續(xù)隨機掃描,生成外界掃描動作的詳細(xì)日志記錄,并將發(fā)起掃描的 主機地址寫入tcp_wrapper的host.deny文件中,并重指掃描者路由,把信息流 第 12 頁 共 23 頁 重定向到一個不存在的主機。缺點是僅限于對一臺單機進行端口掃描分析;判 斷規(guī)則過于嚴(yán)格,正常的掃描容易被誤認(rèn)為是端口掃描行為。 4 4 端口掃描的實現(xiàn)端口掃描的實現(xiàn) 4.14.1掃描程序的設(shè)計原理掃描程序的設(shè)計原理 在進行端口掃描的設(shè)
45、計與開發(fā)中,利用三次握手的原理,建立原始套接字, 通過向目標(biāo)主機的 TCP/IP 服務(wù)端口發(fā)送探測性數(shù)據(jù)包,并記錄目標(biāo)主機的響應(yīng) 情況,最后通過分析響應(yīng)情況來判斷目標(biāo)主機服務(wù)端口是打開還是關(guān)閉,進而 得知端口的狀態(tài)。 4.24.2程序流程圖程序流程圖 如下圖 4 所示,所開發(fā)的端口掃描流程圖: 圖 4 端口掃描流程圖 第 13 頁 共 23 頁 5 5 檢測端口掃描的實現(xiàn)檢測端口掃描的實現(xiàn) 5.15.1檢測程序的設(shè)計原理檢測程序的設(shè)計原理 在檢測端口掃描程序的設(shè)計與開發(fā)中,這里首先是采取通過套接字來進行 數(shù)據(jù)包的捕獲,再通過解 IP 包,然后對所解出的 TCP 包和 UDP 包分別再進行解 包
46、,并記錄下到達的端口,以及源 IP 地址,目的 IP 地址,目的端口,再設(shè)計 一種算法,通過算法對數(shù)據(jù)包進行統(tǒng)計分析,最后設(shè)定一個判斷發(fā)生掃描行為 的條件,當(dāng)滿足條件有三次及三次以上的相同源 IP 且到達端口的不同的數(shù)據(jù)包 即判斷發(fā)生端口掃描行為。 此檢測端口掃描程序的設(shè)計不但可以檢測一般的掃描和快速掃描,在一定 的程度上也能檢測慢速掃描。 以前的端口掃描檢測方法都是采用在一個固定的時間窗 T 內(nèi)查看從同一個 源地址發(fā)起的連接數(shù) X , 如果 X 超出了設(shè)定的閥值, 則判斷為一次掃描。由于 網(wǎng)絡(luò)上的通信量非常大, 所以以前的端口掃描方法都會設(shè)定一個很小的時間窗 T ,防止消耗掉過多的內(nèi)存和 C
47、PU 時間。由于本文提出的方法與時間窗無關(guān), 所 以在不降低系統(tǒng)整體性能的前提下,在慢速掃描發(fā)送探測性數(shù)據(jù)包時間間隔上 不超出所設(shè)計程序所能記錄數(shù)據(jù)包的最大上限的情況下仍能很好的檢測慢速掃 描。 5.25.2程序流程圖程序流程圖 如下圖 5 所示,所開發(fā)的檢測端口掃描程序基本流程圖: 第 14 頁 共 23 頁 圖 5 端口檢測流程圖 5.35.3設(shè)計實現(xiàn)重點代碼設(shè)計實現(xiàn)重點代碼 在此端口掃描檢測程序設(shè)計中,重點在于設(shè)計一個算法,用于研究是否存 在端口掃描行為,算法是此設(shè)計的重點。 就此設(shè)計的檢測程序來說,在捕獲數(shù)據(jù)包后所解的 TCP 包和 UDP 包,由于 在分析中要分別考慮 TCP 包和
48、UDP 包,但是對兩種包的分析都是一樣的,現(xiàn)我 們只詳細(xì)闡述分析 TCP 包的情況。 在所設(shè)計用于檢測端口掃描的算法中,首先是一個統(tǒng)計函數(shù),用于對通過 第 15 頁 共 23 頁 套接字捕獲數(shù)據(jù)包的統(tǒng)計: void statistics(char szProtocol,char szSourceIP,int iSourcePort,char szDestIP) if(strcmp(szProtocol,“TCP“) if(TCP_MAX=MAX_LEN_REC) TCP_MAX=0; if(TCP_MAX=0) strcpy(TCP_RECTCP_MAX.szProtocol,szProtoc
49、ol); strcpy(TCP_RECTCP_MAX.szSourceIP,szSourceIP); TCP_RECTCP_MAX.iSourcePort=iSourcePort; strcpy(TCP_RECTCP_MAX.szDestIP,szDestIP); +TCP_MAX; else if(check(TCP_REC,szDestIP,iSourcePort,TCP_MAX-1) /調(diào)用 check 函數(shù) strcpy(TCP_RECTCP_MAX.szProtocol,szProtocol); strcpy(TCP_RECTCP_MAX.szSourceIP,szSourceIP)
50、; TCP_RECTCP_MAX.iSourcePort=iSourcePort; strcpy(TCP_RECTCP_MAX.szDestIP,szDestIP); +TCP_MAX; 在統(tǒng)計的時候這里需要調(diào)用一個 check 函數(shù)即檢測函數(shù),此函數(shù)的作用是 用于排除完全相同的數(shù)據(jù)包,由于在分析中不需要對完全相同的數(shù)據(jù)包進行分 析,以免出現(xiàn)重復(fù)情況產(chǎn)生誤判,所以在統(tǒng)計時候這里需要先把完全相同的數(shù) 據(jù)包進行排除,以保證存入 TCP_REC中的數(shù)據(jù)包是完全沒有任何是一個是相 同的。 bool check(STATISTIC TYPE,char szDestIP,int port,int coun
51、t) /check 函數(shù),比 較協(xié)議類型,目的 IP,端口,計數(shù)(count) int i=0; bool flag=true; for(i=count;i=0;i-) if(!strcmp(TYPEi.szDestIP,szDestIP) break; return flag; 對所捕獲的數(shù)據(jù)包進行統(tǒng)計后,接著是對所捕獲的 TCP 包以及 UDP 數(shù)據(jù) 包進行分析的分析函數(shù),首先是一個用于存放不同 IP 的 rec,在這里我們用 到一個臨時變量 temp,用于幫助對不同 IP 的提取,最后再根據(jù)所記錄的不同 IP 到 TCP_REC中進行提取符合 IP 的數(shù)據(jù)包信息,再存入 tcp_tem中
52、,在 tcp_tem中就是經(jīng)過統(tǒng)計分析后的所捕獲的探測性數(shù)據(jù)包。 void analysis_tcp(STATISTIC tcp)/對 IP,端口進行分析的函數(shù),判定是否為端 口掃描行為 STATISTIC tcp_temMAX_LEN_REC,recMAX_LEN_REC,temp; int i=0;int count=0,reccount=0; strcpy(temp.szProtocol,tcp0.szProtocol); strcpy(temp.szSourceIP,tcp0.szSourceIP); temp.iSourcePort=tcp0.iSourcePort; strcpy(
53、temp.szDestIP,tcp0.szDestIP); /臨時變量記錄第一條數(shù)據(jù)包的情況 strcpy(recreccount.szProtocol,tcp0.szProtocol); strcpy(recreccount.szSourceIP,tcp0.szSourceIP); recreccount.iSourcePort=tcp0.iSourcePort; strcpy(recreccount.szDestIP,tcp0.szDestIP); /將第一條記錄保存到地址列表中 for(i=0;i=0;t-) /進入 for 循環(huán),將 reccount 的值賦給 t,t 大于等于 0,t
54、 的值減 1 if(!strcmp(temp.szDestIP,rect.szDestIP) flag=false; break; /反向搜索地址記錄表如果有相同的則不記錄 if(flag) +reccount; strcpy(recreccount.szProtocol,temp.szProtocol); strcpy(recreccount.szSourceIP,temp.szSourceIP); recreccount.iSourcePort,temp.iSourcePort; strcpy(recreccount.szDestIP,temp.szDestIP); /沒有相同的則將該不同
55、的地址記錄到數(shù)組中 /if 條件判斷 /如果相同則不記錄 /for 循環(huán) system(“cls“); printf(“nTCP_REC 中的數(shù)據(jù)是:n“); for(i=0;iTCP_MAX;i+) printf(“%s:%dn“,TCP_RECi.szDestIP,TCP_RECi.iSourcePort); for(i=0;i=reccount;i+) int j=0;count=0; memset(tcp_tem,0,100*sizeof(STATISTIC); for(j;jTCP_MAX;j+) 第 18 頁 共 23 頁 if(!strcmp(reci.szDestIP,tcpj
56、.szDestIP) strcpy(tcp_temcount.szProtocol,tcpj.szProtocol); strcpy(tcp_temcount.szSourceIP,tcpj.szSourceIP); tcp_temcount.iSourcePort=tcpj.iSourcePort; strcpy(tcp_temcount.szDestIP,tcpj.szDestIP); +count; 在程序的最后,由于此設(shè)計是需要判斷是否發(fā)生端口掃描行為,這里就需 要設(shè)定一個條件來定義端口掃描行為。 在此設(shè)計中,我們定義掃描行為是當(dāng)有 3 個或 3 個以上的探測性數(shù)據(jù)包且 其源 IP 一
57、致的數(shù)據(jù)包存在的時候就判斷為端口掃描行為,當(dāng)然在這里能夠定義 更多或者更少的探測性數(shù)據(jù)包為發(fā)生端口掃描行為條件,只要檢測程序在當(dāng)記 錄到有 3 個或 3 個以上的數(shù)據(jù)包且源 IP 一致的數(shù)據(jù)包對本機進行連接的時候能 顯示出來所發(fā)出的探測性數(shù)據(jù)包并判斷為存在端口掃描行為,并顯示出掃描者 的 IP 信息以及對本機所掃描的端口。 此檢測端口掃描程序設(shè)計對一般的以及快速掃描均能很好的掃描,在一定 程度上能很好的檢測慢速掃描,雖然并沒有設(shè)定時間閾值,不會存在當(dāng)設(shè)定的 時間閾值大到一定程度時,需要從相當(dāng)長時間的網(wǎng)絡(luò)連接記錄中找出掃描行為, 系統(tǒng)資源消耗較大,無法適應(yīng)寬帶網(wǎng)絡(luò)尤其是高速網(wǎng)絡(luò)環(huán)境;但是畢竟所分
58、析的 數(shù)據(jù)包有個定量,掃描者總能以略大于系統(tǒng)設(shè)定數(shù)據(jù)包捕獲定量的時間間隔進 行端口掃描,所以說針對慢速掃描只能在一定程度上實現(xiàn)。 6 6 性能測試性能測試 6.16.1端口掃描程序性能測試端口掃描程序性能測試 在端口掃描程序設(shè)計完成后,用開發(fā)出的端口掃描程序作了一個性能演示, 如下圖 6 所示,掃描者通過掃描命令向 IP 為 192.168.1.102 的目標(biāo)主機的 1- 10000 端口進行了發(fā)送探測性數(shù)據(jù)包掃描,并根據(jù)回應(yīng)顯示目標(biāo)主機的端口開 放情況。 第 19 頁 共 23 頁 圖 6 端口掃描效果顯示圖 如圖 6 顯示,IP 為 192.168.1.102 的目標(biāo)主機在 1-10000
59、 端口中,開放的 端口有 21,25,81,82,83,110,119,139,143。 6.26.2檢測端口掃描程序性能測試檢測端口掃描程序性能測試 再用所開發(fā)的檢測端口掃描程序作了測試,針對攻擊者的掃描行為,捕獲 探測性數(shù)據(jù)包,并進行分析,當(dāng)收到同一地址而且目的端口不同的數(shù)據(jù)包有3個 時,能準(zhǔn)確判斷出來自掃描者的端口掃描行為。 如下圖7所示,當(dāng)程序運行并有IP為192.168.1.7的掃描者向本機發(fā)起掃描 時候,能顯示IP為192.168.1.7的掃描者發(fā)起了端口掃描行為,能作出判斷并顯 示出相應(yīng)的信息。 圖 7 檢測端口掃描效果顯示圖 第 20 頁 共 23 頁 如圖 7 顯示當(dāng)本機遭受
60、到掃瞄者掃描時,程序能對掃描者發(fā)起的探測性的 數(shù)據(jù)包進行捕獲,并記錄下來,當(dāng)有 3 個來自于同一 IP,且目的端口不同的時 候程序就判定為遭到了來自于所捕獲數(shù)據(jù)包源 IP 主機的掃描。 這種情況是在只有一個掃描者的時候能正確顯示出掃描者的信息以及掃描 者對本機哪些端口進行了掃描。 當(dāng)程序運行并且有 IP 為 192.168.1.7 和 192.168.1.103 的兩個掃描者向本 機發(fā)起掃描時候,能顯示 IP 為 192.168.1.7 和 192.168.1.7 的掃描者對本機發(fā) 起了端口掃描行為,并能將探測性數(shù)據(jù)包顯示出來且能作出判斷并顯示出相應(yīng) 的信息,對用戶作出報警,由此可見掃描者的個
61、數(shù)并不會影響程序的正常檢測, 如下圖 8 所示: 圖 8 多掃描者進行掃描時檢測端口掃描效果顯示圖 如圖 8 顯示當(dāng)本機遭受到有兩個掃瞄者掃描時,程序能對掃描者發(fā)起的探 測性的數(shù)據(jù)包進行捕獲,并記錄下來,當(dāng)有 3 個來自于同一 IP,且目的端口不 同的時候程序就判定為遭到了來自于所捕獲數(shù)據(jù)包源 IP 主機的掃描。在這種情 況下有兩個不同 IP 的掃描者對本機進行掃描,程序能分辨出不同的 IP 并顯示 出來遭受到來自兩個掃描者的掃描。 結(jié)結(jié) 論論 本文首先介紹了各種掃描技術(shù),以及分析入侵者可以逃避檢測的各種方法。 其后又介紹了現(xiàn)有的各種端口掃描檢測工具,并對它們的原理和功能進行了分 析。 檢測端
62、口掃描是防止系統(tǒng)被攻擊的一個重要手段,是 IDS 的主要內(nèi)容。文中 第 21 頁 共 23 頁 分析了端口掃描基本原理,總結(jié)了現(xiàn)有檢測工具存在的主要問題,對現(xiàn)有檢測工具 原理進行了闡述。 本文所設(shè)計的端口掃描程序是基于 TCP 連接設(shè)計;端口檢測是基于捕獲數(shù) 據(jù)包進行統(tǒng)計分析,能較好的解決普通掃描,并在一定程度上能檢測出慢速掃 描,尚未解決分布式掃描,本人水平有限和時間倉促,很多問題考慮不周全甚 至可能有錯誤。所以請老師多多指正。 參考文獻參考文獻 1 Andrew S.Tanenbaum美.計算機網(wǎng)絡(luò)M.北京:清華大學(xué)出版社,1998。 2 Anonymous美.網(wǎng)絡(luò)最高安全技術(shù)指南M.北京
63、:機械工業(yè)出版社,1998。 3 David A.Solomon美.計算機網(wǎng)絡(luò)管理M.北京:清華大學(xué)出版社,1999。 4 Douglas E.Comer美.TCP/IP 網(wǎng)絡(luò)互連技術(shù)M.北京:清華大學(xué)出版社,1998。 5 David J.Kruglinski美.Visual C+ 技術(shù)內(nèi)幕M.北京:清華大學(xué)出版社,1999。 6 Anonymous美.網(wǎng)絡(luò)入侵檢測系統(tǒng)分析與設(shè)計M.北京:機械工業(yè)出版社,1998。 7 W.Richard Stevens美.TCP/IP 詳解M.北京:機械工業(yè)出版社,2000。 8 張仕斌.網(wǎng)絡(luò)安全技術(shù)M.北京:清華大學(xué)出版社,2004。 第 22 頁 共
64、23 頁 致致 謝謝 本文是在趙攀老師和盛志偉老師的熱情關(guān)心和指導(dǎo)下完成的,他們淵博的 知識和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對順利完成本課題起到了極大的作用。 在此向他表示我最衷心的感謝! 在論文完成過程中,本人還得到了同事和同學(xué)的熱心幫助,本人向他們表 示深深的謝意! 最后向在百忙之中評審本文的各位專家、老師表示衷心的感謝! 作者簡介: 姓 名:謝欣 性別:男 出生年月:1983 年 11 月 18 日 民族:漢 E-mail: 第 23 頁 共 23 頁 聲聲 明明 本論文的工作是 2007 年 2 月至 2007 年 6 月在成都信息工程學(xué)院網(wǎng)絡(luò)工程 系完成的。文中除了特別加以標(biāo)注地方外,
65、不包含他人已經(jīng)發(fā)表或撰寫過的研 究成果,也不包含為獲得成都信息工程學(xué)院或其他教學(xué)機構(gòu)的學(xué)位或證書而使 用過的材料。除非另有說明,本文的工作是原始性工作。 關(guān)于學(xué)位論文使用權(quán)和研究成果知識產(chǎn)權(quán)的說明: 本人完全了解成都信息工程學(xué)院有關(guān)保管使用學(xué)位論文的規(guī)定,其中包括: (1)學(xué)校有權(quán)保管并向有關(guān)部門遞交學(xué)位論文的原件與復(fù)印件。 (2)學(xué)??梢圆捎糜坝?、縮印或其他復(fù)制方式保存學(xué)位論文。 (3)學(xué)校可以學(xué)術(shù)交流為目的復(fù)制、贈送和交換學(xué)位論文。 (4)學(xué)??稍试S學(xué)位論文被查閱或借閱。 (5)學(xué)??梢怨紝W(xué)位論文的全部或部分內(nèi)容(保密學(xué)位論文在解密后 遵守此規(guī)定) 。 除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息 工程學(xué)院。 特此聲明! 作者簽名: 年 月 日 第 24 頁 共 23 頁 “Are you hungry now?“ “No, I am tired and lazy now; if I pursue you I will not catch you, and if I catch you-through y
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《有機化合物的合成》
- 某知名化妝品公司各部門職責(zé)
- 八年級數(shù)學(xué)上冊 第13章 全等三角形 13.4 三角形的尺規(guī)作圖優(yōu)質(zhì)課件 (新版)冀教版
- 化學(xué)九上人教版第六單元課題3第1課時
- 長春版小學(xué)五年級下《桂林山水甲天下》
- 現(xiàn)代社會更需要通才-攻辯
- 海底兩萬里(康塞爾)
- 客戶經(jīng)理積分考核介紹
- 現(xiàn)代教育技術(shù)培訓(xùn)
- 混凝土預(yù)制樁、鋼樁施工
- 氨基酸類藥物
- 威尼斯建筑與藝術(shù)雙年展掠影
- 地產(chǎn)營銷操作手冊課件
- 15機械的效率和自鎖222
- 建筑施工事故案例分析