版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 Harbin Institute of Technology at Weihai防火墻與入侵檢測(cè)課程設(shè)計(jì)報(bào)告課程名稱: 防火墻與入侵檢測(cè) 設(shè)計(jì)題目: 混合型簡(jiǎn)易防火墻 院 系: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 班 級(jí): 設(shè) 計(jì) 者: 學(xué) 號(hào): 指導(dǎo)教師: 需要源程序請(qǐng)聯(lián)系本人 設(shè)計(jì)時(shí)間: 2012年11月11日-2012年11月22日 哈爾濱工業(yè)大學(xué)(威海)二零一二年十一月專心-專注-專業(yè)哈爾濱工業(yè)大學(xué)(威海)計(jì)算機(jī)學(xué)院防火墻與入侵檢測(cè)課程設(shè)計(jì)驗(yàn)收及成績(jī)?cè)u(píng)定表(項(xiàng)目組)項(xiàng)目名稱職責(zé)學(xué) 號(hào)姓 名主 要 分 工組長(zhǎng)09進(jìn)行需求分析、概要設(shè)計(jì)、主要部分代碼編寫、代碼注釋、進(jìn)行文檔編
2、寫整理組員0進(jìn)行需求分析、概要設(shè)計(jì)、相關(guān)部分代碼編寫、代碼注釋、運(yùn)行調(diào)試軟件設(shè)計(jì)開始日期項(xiàng)目完成日期文 檔 評(píng) 審 成 績(jī) (共50分)評(píng)審項(xiàng)目評(píng)審內(nèi)容成績(jī)標(biāo)準(zhǔn)評(píng)審成績(jī)項(xiàng)目名稱課題是否從實(shí)際出發(fā),是否具有創(chuàng)意等10文檔格式文檔格式是否規(guī)范;文字是否規(guī)范;圖表是否規(guī)范;術(shù)語(yǔ)是否準(zhǔn)確等20分文檔質(zhì)量程序設(shè)計(jì)思想與整體框架是否清晰等20分文檔總體評(píng)價(jià)總成績(jī)程 序 功 能 完 備 性 評(píng) 審 成 績(jī) (共 50 分)評(píng)審項(xiàng)目評(píng) 審 內(nèi) 容成績(jī)標(biāo)準(zhǔn)評(píng)審成績(jī)程序運(yùn)行狀況程序是否能正常運(yùn)行;是否出現(xiàn)死鎖;是否遇到錯(cuò)誤而中止運(yùn)行10分程序正確性對(duì)于給定的輸入數(shù)據(jù),是否能得到正確的輸出結(jié)果15分程序與文檔的一致
3、性程序與各種文檔的內(nèi)容是否一致5 分程序的代碼量程序代碼量的大小10分實(shí)現(xiàn)方法圖形界面或命令行界面,美觀程度5分實(shí)現(xiàn)語(yǔ)言面向過程或面向?qū)ο?分程序總體評(píng)價(jià)總成績(jī)哈爾濱工業(yè)大學(xué)(威海)課程設(shè)計(jì)任務(wù)書姓 名: 學(xué) 號(hào): 院(系): 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 專 業(yè):信息安全 任務(wù)起止日期: 2012年11月11日-2012年11月22日課程設(shè)計(jì)題目:簡(jiǎn)易防火墻設(shè)計(jì) 問題闡述與分析: 設(shè)計(jì)一個(gè)混合型防火墻或入侵檢測(cè)系統(tǒng),保證網(wǎng)絡(luò)安全,并在實(shí)際網(wǎng)絡(luò)環(huán)境中進(jìn)行測(cè)試。 一、設(shè)計(jì)背景:網(wǎng)絡(luò)安全問題日益嚴(yán)重,針對(duì)網(wǎng)絡(luò)中可能存在的隱患,在做安全設(shè)計(jì)時(shí),我們必須考慮網(wǎng)絡(luò)安全問題,針對(duì)這些安全問題做相應(yīng)的措施。二、設(shè)計(jì)
4、實(shí)現(xiàn)意義: 實(shí)現(xiàn)以太網(wǎng)中網(wǎng)絡(luò)數(shù)據(jù)包的截獲分析,通過設(shè)置一些簡(jiǎn)單的過濾規(guī)則,實(shí)現(xiàn)封包的過濾,進(jìn)而避免一些常用的攻擊。通過動(dòng)態(tài)鏈接庫(kù)實(shí)現(xiàn)網(wǎng)絡(luò)中基本協(xié)議的分析,記錄入日志,如果發(fā)現(xiàn)有危險(xiǎn)行為,并對(duì)用戶做出報(bào)警行為。 工作量:1、界面方面:可配置、可顯示系統(tǒng)運(yùn)行結(jié)果。2、規(guī)則設(shè)置:a)自行設(shè)計(jì)并實(shí)現(xiàn)防火墻或入侵檢測(cè)系統(tǒng)的規(guī)則語(yǔ)言,并撰寫相應(yīng)規(guī)則語(yǔ)言的解析器。b)規(guī)則配置靈活,至少涉及IP地址(IP地址段)、端口、傳輸協(xié)議等。c)配置方式:分為立即更新與定量更新(時(shí)間與數(shù)量?jī)煞N)。3、運(yùn)行結(jié)果:對(duì)運(yùn)行結(jié)果分析,并以圖表形式動(dòng)態(tài)連續(xù)展示。4、日志方面:記錄日志,分析,并將運(yùn)行結(jié)果存入數(shù)據(jù)庫(kù)。5、相關(guān)文檔:
5、a)概要設(shè)計(jì),畫出系統(tǒng)結(jié)構(gòu)圖,主要算法流程圖等b)測(cè)試報(bào)告。6、代碼部分:程序源碼要有相應(yīng)注釋,每個(gè)函數(shù)要寫明作用、入口參數(shù)含義、返回值含義,程度代碼的關(guān)鍵部分添加注釋。 工作計(jì)劃安排:2012年11月12日-2012年11月16日:前期需求分析,知識(shí)準(zhǔn)備。2012年11月17日-2012年11月18日:系統(tǒng)概要設(shè)計(jì)。2012年11月19日-2012年11月21日:進(jìn)行界面設(shè)計(jì),主要代碼編寫。2012年11月22日-2012年11月23日:相關(guān)文檔編寫。 同組設(shè)計(jì)者及分工:組長(zhǎng): 黃崇遠(yuǎn)分工:進(jìn)行需求分析、概要設(shè)計(jì)、主要部分代碼編寫、代碼注釋、進(jìn)行文檔編寫整理組員: 邢欣分工:進(jìn)行需求分析、概
6、要設(shè)計(jì)、相關(guān)部分代碼編寫、代碼注釋、運(yùn)行調(diào)試軟件目錄一、軟硬件運(yùn)行環(huán)境l 硬件推薦配置個(gè)人微型計(jì)算機(jī)l 軟件運(yùn)行環(huán)境Windows xp系統(tǒng)二、項(xiàng)目研究背景與意義1.背景意義:個(gè)人PC機(jī)在上網(wǎng)時(shí)很可能無意間訪問了惡意的網(wǎng)絡(luò)頁(yè)面而導(dǎo)致計(jì)算機(jī)被植入惡意插件或木馬,嚴(yán)重影響上網(wǎng)瀏覽的質(zhì)量,使個(gè)人計(jì)算機(jī)安全遭受嚴(yán)重危險(xiǎn)。設(shè)計(jì)出適合個(gè)人的小型防火墻可以對(duì)個(gè)人計(jì)算機(jī)設(shè)置各種基本的網(wǎng)絡(luò)訪問規(guī)則,過濾不受信任的網(wǎng)絡(luò)數(shù)據(jù),阻止對(duì)不受信任的網(wǎng)站的訪問,從而阻止惡意插件或木馬。有效防止網(wǎng)絡(luò)攻擊,保護(hù)個(gè)人計(jì)算機(jī)上網(wǎng)安全。2.需求分析: a.能夠?qū)P層進(jìn)行按照數(shù)據(jù)包的源和目的地址進(jìn)行篩選,過濾不安全的網(wǎng)絡(luò)交互。b.能
7、夠?qū)崿F(xiàn)對(duì)TCP連接的控制,通過控制源和目的端口對(duì)TCP連接進(jìn)行檢測(cè),可以對(duì)按照規(guī)則設(shè)置的端口進(jìn)行數(shù)據(jù)包攔截,阻止TCP的正常連接。c.能夠?qū)崿F(xiàn)對(duì)機(jī)器發(fā)送ICMP包的控制,通過設(shè)定允許或阻止特定的ICMP數(shù)據(jù)包類型,對(duì)ICMP包進(jìn)行過濾。d.能夠依照MAC地址進(jìn)行指定攔截。e.能夠控制UDP連接,對(duì)指定端口進(jìn)行封鎖。阻止UDP的正常連接。三、關(guān)鍵技術(shù)及解決方案 主程序1.程序框架:ICMP控制TCP控制IP控制源端口控制目的端口控制ICMP報(bào)文類型控制目的IP地址控制源IP地址控制2.函數(shù)入口及調(diào)用關(guān)系序號(hào)函數(shù)名稱功能描述參數(shù)描述備注1CKingSocket. SocketInit()Kings
8、ocket.Dll初始化無無2CKingSocket.SocketRemove()卸載驅(qū)動(dòng)無無3CKingSocket. SocketSetup()安裝驅(qū)動(dòng)無無4CKingSocket. SetRuleType()設(shè)置操作類型(攔默認(rèn)截或通過)(BLOCK/ PASS)無5CKingSocket. SetRule()設(shè)置協(xié)議規(guī)則(Pro_Rule,FALSE/TRUE)無6CKingSocket. GetLog()獲取包頭日志(LogDisplay,(CMyDlg *)pPara)調(diào)用解析包頭函數(shù)7LogDisplay()解析包頭日志函數(shù)(PLOG_PACKET_NODE pPacketHea
9、der, PVOID pParameter )無8LogThread()監(jiān)聽線程函數(shù)(LPVOID pPara)調(diào)用GetLog()3.程序控制基本流程圖:4.程序主要代碼(1)主要數(shù)據(jù)結(jié)構(gòu)typedef struct ip_header/IP頭 BYTE ver_ihl;/版本 BYTE tos;/TOS服務(wù)類型 WORD tlen;/包總長(zhǎng) WORD identification;/標(biāo)識(shí) WORD flags_fo;/標(biāo)志位 BYTE ttl;/TTL BYTE proto;/Protocol WORD checksum;/校驗(yàn)和 IPAddr saddr;/源地址 IPAddr dadd
10、r;/目的地址 WORD op_pad;/選項(xiàng)IPHEADER,*PIPHEADER;typedef struct tcp_header /Tcp頭 WORD sport; /16位源端口 WORD dport; /16位目的端口 TCPHEADER,*PTCPHEADER; void CMyDlg:OnBnClickedStart()/開始執(zhí)行所定義的規(guī)則DWORD ID;m_bRuning=true;m_hThread=:CreateThread (NULL,0,LogThread,this,0,&ID);/創(chuàng)建進(jìn)程開始監(jiān)聽GetDlgItem(IDC_STOP)->Enab
11、leWindow (TRUE);GetDlgItem(IDC_START)->EnableWindow (FALSE);(2)字段解析bool LogDisplay( PLOG_PACKET_NODE pPacketHeader, PVOID pParameter ) CMyDlg *pDlg=(CMyDlg *)pParameter; ITEM item; switch(pPacketHeader->bPass )/操作類型字段 case PACKET_PASS: item.action ="通過" break; case PACKET_BLOCK: item
12、.action ="攔截" break; /IP段賦值 PIP_HEADER pIp=(PIP_HEADER)pPacketHeader->PacketContext; item.srcIP .Format ("%d.%d.%d.%d", pIp->SourceIp 0, pIp->SourceIp 1, pIp->SourceIp 2, pIp->SourceIp 3); item.desIP .Format ("%d.%d.%d.%d", pIp->DestinationIp 0, pIp-&g
13、t;DestinationIp 1, pIp->DestinationIp 2, pIp->DestinationIp 3); item.size.Format ("%d",htons(pIp->DatagramLength); switch(pIp->Protocol )/協(xié)議類型段 case ICMP: item.type ="ICMP" break; case TCP: item.type ="TCP" if(pPacketHeader->PacketSize >=(TCP_HEADER_LE
14、NGTH+pIp->HeaderLength*4 ) PTCPHEADER pTcp=PTCPHEADER(pPacketHeader->PacketContext)+pIp->HeaderLength*4); item.desPort.Format ("%d",htons(pTcp->dport );/端口賦值 item.srcPort.Format ("%d",htons(pTcp->sport ); break; case UDP: item.type ="UDP" if(pPacketHeader
15、->PacketSize >=(UDP_HEADER_LENGTH+pIp->HeaderLength*4 ) PTCPHEADER pTcp=PTCPHEADER(pPacketHeader->PacketContext)+pIp->HeaderLength*4); item.desPort.Format ("%d",htons(pTcp->dport );/端口賦值 item.srcPort.Format ("%d",htons(pTcp->sport ); break; case EGP: item.typ
16、e ="EGP"/外部網(wǎng)關(guān)協(xié)議 break; case IGMP: item.type ="IGMP" break; pDlg->Add2MyListCtrl (item); return true;(3)規(guī)則添加DWORD WINAPI LogThread(LPVOID pPara)gSocket.GetLog(LogDisplay,(CMyDlg *)pPara);/將包頭日志一個(gè)一個(gè)地通過回調(diào)函數(shù)返回來,供程序進(jìn)一步使用。return 0;void CMyDlg:OnBnClickedButton3()UpdateData();CString
17、 strTemp;switch(m_curRule)case 1:_TCP_RULE *TcpRule=new _TCP_RULE;strTemp=m_SrcText;/strTemp.TcpRule->SrcPort =atoi(strTemp.GetBuffer();strTemp=m_DestText;TcpRule->DesPort=atoi(strTemp.GetBuffer();TcpRule->Type =RECVRULE;/TcpRule->Next=NULL;gSocket.SetRule (*TcpRule,TRUE);strTemp.Format(
18、"TCP 源端口:%d 目的端口%d RECVRULE",TcpRule->SrcPort,TcpRule->DesPort);int i=m_pListBoxm_curRule-1->AddString(strTemp);m_pListBoxm_curRule-1->SetItemDataPtr(i,(void *)TcpRule);/該ip規(guī)則保存為列表項(xiàng)的數(shù)據(jù)MessageBox("TCP規(guī)則添加成功!");break;case 2:_UDP_RULE *UdpRule=new _UDP_RULE;strTemp=m_Src
19、Text;/strTemp.UdpRule->SrcPort =atoi(strTemp.GetBuffer();strTemp=m_DestText;UdpRule->DesPort=atoi(strTemp.GetBuffer();UdpRule->Type =RECVRULE;/gSocket.SetRule (*UdpRule,TRUE);strTemp.Format("UDP 源端口:%d 目的端口%d RECVRULE",UdpRule->SrcPort,UdpRule->DesPort);int i=m_pListBoxm_cur
20、Rule-1->AddString(strTemp);m_pListBoxm_curRule-1->SetItemDataPtr(i,(void *)UdpRule);/該ip規(guī)則保存為列表項(xiàng)的數(shù)據(jù)MessageBox("UDP規(guī)則添加成功!");break;case 3:_IP_RULE *IpRule=new _IP_RULE;/獲取源IP,目的IP,設(shè)定過濾規(guī)則m_ipDestCtrl.GetAddress(IpRule->DesIp 0,IpRule->DesIp1,IpRule->DesIp2,IpRule->DesIp3);m
21、_ipSrcCtrl.GetAddress(IpRule->SrcIp 0,IpRule->SrcIp1,IpRule->SrcIp2,IpRule->SrcIp3);IpRule->ProType = 0;IpRule->Type = SENDRULE;/對(duì)于未做局域網(wǎng)代理的注意區(qū)別,有些規(guī)則只有在代理機(jī)上有意義IpRule->Next = NULL;gSocket.SetRule (*IpRule,TRUE);strTemp.Format("IP 源端:%d.%d.%d.%d目的:%d.%d.%d.%d SENDRULE",Ip
22、Rule->SrcIp0,IpRule->SrcIp1,IpRule->SrcIp2,IpRule->SrcIp3,IpRule->DesIp0,IpRule->DesIp1,IpRule->DesIp2,IpRule->DesIp3);int i=m_pListBoxm_curRule-1->AddString(strTemp);m_pListBoxm_curRule-1->SetItemDataPtr(i,(void *)IpRule);/該ip規(guī)則保存為列表項(xiàng)的數(shù)據(jù)MessageBox("IP規(guī)則添加成功!"
23、);break;case 4:/*常見的ICMP報(bào)文:類型代碼 類型描述 0 響應(yīng)應(yīng)答(ECHO-REPLY) 3 不可到達(dá) 4 源抑制 5 重定向 8 響應(yīng)請(qǐng)求(ECHO-REQUEST) 11 超時(shí) 12 參數(shù)失靈 13 時(shí)間戳請(qǐng)求 14 時(shí)間戳應(yīng)答 15 信息請(qǐng)求(*已作廢) 16 信息應(yīng)答(*已作廢) 17 地址掩碼請(qǐng)求 18 地址掩碼應(yīng)答*/_ICMP_RULE *pIcmpRule=new _ICMP_RULE;strTemp=m_SrcText;pIcmpRule->IcmpType=atoi(strTemp.GetBuffer();pIcmpRule->Type=S
24、ENDRULE;/gSocket.SetRule (*pIcmpRule,TRUE);strTemp.Format("ICMP 過濾包類型%d SENDRULE",pIcmpRule->IcmpType);int i=m_pListBoxm_curRule-1->AddString(strTemp);m_pListBoxm_curRule-1->SetItemDataPtr(i,(void *)pIcmpRule);/該ip規(guī)則保存為列表項(xiàng)的數(shù)據(jù)MessageBox("ICMP規(guī)則添加成功!");break;case 5:_MAC_RU
25、LE *pMacRule=new _MAC_RULE;/獲取源MAC,目的MAC,設(shè)定過濾規(guī)則strTemp=m_SrcText;/strTemp.TrimLeft();strTemp.Trim();/字符與十六進(jìn)制數(shù)字轉(zhuǎn)換BYTE tmpValue1,tmpValue2;bool isDouble=FALSE;int index=0;/Mac地址索引for(int j=0;j<strTemp.GetLength();j+)char tmp=strTemp.GetAt(j);if(tmp!='-')if(!isDouble)if(tmp>='A')t
26、mpValue1=(BYTE)(tmp-'A'+10);elsetmpValue1=(BYTE)(tmp-'0');tmpValue1= tmpValue1<< 4;/左移移四位至高四位tmpValue1&=240;/isDouble=TRUE;/下次是雙位else/這是一個(gè)雙位if(tmp>='A')tmpValue2=(BYTE)(tmp-'A'+10);elsetmpValue2=(BYTE)(tmp-'0');tmpValue2&=15;/取其后四位pMacRule->
27、;SrcMacindex+=tmpValue1+tmpValue2;/組合成十六進(jìn)制mac地址isDouble=FALSE;/下次是單位strTemp=m_DestText;strTemp.Trim();index=0;isDouble=FALSE;for(int j=0;j<strTemp.GetLength();j+)char tmp=strTemp.GetAt(j);if(tmp!='-')if(!isDouble)if(tmp>='A')tmpValue1=(BYTE)(tmp-'A'+10);elsetmpValue1=(BYTE)(tmp-'0');tmpValue1=tmpValue1<<4;/左移移四位至高四位tmpValue1&=240;/isDouble=TRUE;/下次是雙位else/這是一個(gè)雙位if(tmp>='A')tmpValue2=(BYTE)(tmp-'A'+10);elsetmpValue2=(BYTE)(tmp-'0'
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 時(shí)尚品牌店裝修合同樣本
- 2025年度特種設(shè)備安全管理停薪留職協(xié)議
- 夜間快遞運(yùn)輸線路外包合同
- 保險(xiǎn)公司裝修質(zhì)量保證協(xié)議
- 產(chǎn)業(yè)園裝修貸款合同范本
- 2025年度網(wǎng)絡(luò)安全應(yīng)急響應(yīng)工程師聘請(qǐng)合同-@-1
- 學(xué)校教室半包裝修合同樣本
- 工廠車間裝修包工協(xié)議
- 家電賣場(chǎng)展位裝修合同書
- 保險(xiǎn)公司裝修制式合同樣本
- 自卸車司機(jī)實(shí)操培訓(xùn)考核表
- 教師個(gè)人基本信息登記表
- 中考現(xiàn)代文閱讀理解題精選及答案共20篇
- ESD測(cè)試作業(yè)指導(dǎo)書-防靜電手環(huán)
- 高頻變壓器的制作流程
- 春季開學(xué)安全第一課PPT、中小學(xué)開學(xué)第一課教育培訓(xùn)主題班會(huì)PPT模板
- JJG30-2012通用卡尺檢定規(guī)程
- 部編版人教版二年級(jí)上冊(cè)語(yǔ)文教材分析
- 艾賓浩斯遺忘曲線復(fù)習(xí)方法表格模板100天
- APR版制作流程
- 《C++程序設(shè)計(jì)》完整教案
評(píng)論
0/150
提交評(píng)論