樣本只提供該系統的基本情況介紹,若需要完整的設計和論文,建議您購買本系統,凡是購買本站系統的,本站均會在該系統的基礎上,根據您的要求,修改成一個切實適合您的系統)
本系統開發工具:Visual Studio 2005+SQL2000
本設計包含內容:源代碼+可執行程序(計算機畢業設計)+計算機畢業論文+開題報告+答辯稿
目 錄
目 錄 1
防火牆技術的研究與應用 2
第一章 防火牆的介紹 4
1.1 網絡級防火牆 5
1.2 應用級防火牆 5
1.3 防火牆的安全問題 5
1.4 防火牆的優勢和弱點 5
1.5 防火牆的技術實現 6
1.6 黑客攻擊技術分析 8
1.6.1 UDP攻擊 8
1.6.2 TCP/SYN攻擊 8
1.6.3 ICMP/PING 攻擊 8
1.6.4 ICMP/SMURF 攻擊 8
1.6.5 TARGA3 攻擊 (IP 堆棧突破) 9
第二章 狀態檢測技術 10
第三章 截獲網絡封包的基礎知識 11
3.1 了解TCP/IP協議 11
3.2 截獲網絡封包的方法 11
3.3 Winsock介紹 12
第四章 Windows圖形界面下的軟件實現 14
.
.
.
Firewall examination technology research and realization【Abstract】: .
This article refuses through the multianalysis to serve in attack SYN and the UDP attack characteristic, formulates the corresponding solution.The main realized process is puts the network card in the combination pattern, intercept the network wrapped gift, and using the condition detection technology to detect ,recording and analysis the data packet, to judges whether the other is attack. Among them, the key of realized detection is based on establish a condition examination mechanism that can automatically carry on processing to the illegal data packet. If the user suspected some people in the implementation illegal attack, they can examine the diary confirmed and ensure the upper formation submits is the legitimate data packet. .
This procedure is designs with VC++, Can examine SYN and the UDP attack, but also may inquire the diary. Can limits to a UDP packageof size and the receive port, in order to better protection this aircraft system.
.
Data packets. .
截獲網絡封包的方法有多種,包括傳輸層過濾驅動程序、NDIS中間驅動程序和Winsock2 SPI。前兩種方法是在核心層實現,要求對底層協議較熟悉,實現起來也很復雜。SPI是在會話層,處於核心層之外,因此用Winsock2 SPI實現起來就相對簡單些。為了方便對OSI7層協議在Windows中的應用和實現方式有一個直觀的認識,下面給出一個7層協議與Windows結構的概略映射圖,如圖3.2所示。 .
NDIS是Windows的網絡驅動接口規范,它的職能重心是提供網絡層接口。NDIS是Windows的外交官,一方面通過網卡驅動程序向網卡傳達Windows的意思,另一方面也將從網卡驅動程序得到的網卡信息傳達給上級TDI。
.
TDI是傳輸驅動接口,它不僅是一個簡單的傳送帶,它還要對信息進行檢索、分類並重新組織。TCP協議的封包處理就是在這一層進行的。 .
SPI是服務提供者接口,上面兩層都處於核心層,其程序都是驅動程序,表現為 .vxd或 .sys 。SPI屬於應用層范疇,它的程序為動態鏈接庫(DLL)形式。SPI負責連接核心層驅動程序和高層應用程序,它的上級為API。
.
API是應用程序接口,這對Windows程序員來說是非常熟悉的,它為應用程序提供接口,負責SPI與應用程序之間的數據傳輸。
.
有了上面的基礎知識,就不難決定用哪種方法來截獲IP數據包了。從剛才的介紹中我們了解到,與API最接近的是SPI,它不需要了解驅動程序,只需要調用SPI提供的函數就可實現我們想要的功能。實際上,在VC裡面都有與SPI相對應的API函數。因此,采用Winsock2 API來實現IP包的獲取是一條捷徑。
.
我們知道,網絡通信必須要用到socket. socket又稱為套接字,是支持TCP/IP協議網絡通信的基本操作單元。可以將套接字看作不同主機間進程進行雙向通信的端點。一個套接口就是通信的一端,在這一端上可以找到與其對應的一個名字。套接口存在於通信域中,通信域是為了處理一般的線程通過套接口通信而引進的一種抽象概念。套接口通常與同一個域中的套接口交換數據。Windows Socket規范支持單一的通信域,即Internet域。[10] .
根據網絡通信的特性,Winsock1.1把套接字分為兩類:流式套接字和數據報套接字。 .
流式套接字提供雙向、有序的、無重復並且無記錄邊界的數據流服務,它適用於處理大量數據。流式套接字是面向連接的,通信雙方在進行數據交換之前,必須建立一條路徑。它在建立socket時所用到的標志是SOCK_STREAM。 .
數據報套接字支持雙向的數據流,它是無連接的,並不保證接收端是否能正確接收,因此數據報並不可靠。也就是說,一個從數據報套接字接受信息的進程有可能發現信息重復,或者和發出時的順序不同的情況。它在建立socket時所用到的標志是SOCK_DGRAM。 .
(3) 原始套接字
.
光有這兩種套接字是遠遠不夠的,Winsock2的出現使Winsock1.1的許多方面得到了擴展。Winsock1.1的源程序可以被簡單的移植到Winsock2系統上運行,只需要包含新的頭文件——Winsock2.h和連接Wsock32.lib庫。[11] .
.
這裡之所以要介紹Winsock2,是因為它含有一種重要的套接字類型——原始套接字。原始套接字支持多種協議,通過它,程序員可以對網絡低層的傳輸機制進行控制。原始套接字與流式套接字和數據報套接字的最大不同在於套接字的創建,它是用SOCK_RAW這一標志創建的。
.
創建完socket,就可以在網絡上進行數據通信了。
.
.
參考文獻[1] 朱燕輝 朱燕冰.Windows防火牆與網絡封包截獲技術.北京:電子工業出版社.2002.7.第一版:5~24. .
[2] 汪哓平 鐘軍等.Visual C++網絡通信協議分析與應用實現.北京:人民郵電出版社.2003.2.第一版:22~69.571~599. .
[3] 馮峰 王雪梅等.Visual C++開發高級界面實例.北京:人民郵電出版社.2000.11.第一版:76~81. .
[4] 譚浩強.C程序設計.北京:清華大學出版社.1999.12.第二版:377~387. .
[5] 謝希仁.計算機網絡.大連:大連理工大學出版社.2000.6.第三版:159~171.195~208. .
[6] Keith E.Strassberg,Richard J.Gondek,Gary Rollie etal.防火牆技術大全.李昂 劉芳萍 楊旭等譯.北京:機械工業出版社.2003.3.第一版:5~23. .
~dforsber/synflood/result.html. .
[8] William Stallings. OPERATING SYSTEMS Internals and Design Principles. 北京:清華大學出版社·PRENTICE HALL.1998.6.102~117. .
[9] Microsoft 公司.Visual C++6.0類庫參考手冊(上、下).希望圖書創作室譯.北京:希望電腦公司出品.1999.2.
.
[11] T Hardjono,B Cain,I Monga.Intra-Domain Group Key Management Protocol[C].LETF Draft.1998. .
[12] 楊文龍 姚淑珍 吳芸.軟件工程.北京:電子工業出版社.1999.5.第