freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)_半打開端口掃描技術(shù)的實(shí)現(xiàn)-文庫吧資料

2024-12-08 13:21本頁面
  

【正文】 況又是防止網(wǎng)絡(luò)被攻擊必須解決的問題。 結(jié) 論 由于計(jì)算機(jī)網(wǎng)絡(luò)的廣泛應(yīng)用,黑客的活動(dòng)日益 猖獗 ,網(wǎng)絡(luò)入侵事件越來越多,網(wǎng)絡(luò)系統(tǒng)的安全已經(jīng)成為網(wǎng)絡(luò)建設(shè) 面臨的一個(gè)重大問題。 ② 綜合掃描系統(tǒng) 也可以利用對日常警報(bào)信息的分 第 13 頁 共 22 頁 析,對端口掃描系統(tǒng)的掃描策略進(jìn)行修改,然后進(jìn)行預(yù)約掃描,對目前可能 遭受攻擊的漏洞提出一個(gè)報(bào)告 。 ① 綜合掃描系統(tǒng) 可以利用掃描 子 系統(tǒng)的掃描結(jié)果,對目前網(wǎng)絡(luò)或系統(tǒng)和應(yīng) 用所存在的漏洞做到心中有數(shù),然后利用掃描結(jié)果對預(yù)警策略進(jìn)行修改。根據(jù)掃描 子 系統(tǒng)所發(fā)現(xiàn)的信息,系統(tǒng)管理員可以及時(shí)填補(bǔ)安全漏洞,避免入侵者攻擊?,F(xiàn)在已有一些綜合掃描系統(tǒng)既能實(shí)現(xiàn)安全掃描,又能監(jiān)聽并分析系統(tǒng)中的數(shù)據(jù)包,提供網(wǎng)絡(luò)中的存在的漏洞及安全狀況,成為一個(gè) 綜合 掃描系統(tǒng)。 5 端口掃描 技術(shù) 的發(fā)展方向和趨勢 在未來,端口 掃描將不僅僅 作為 一個(gè)簡單的工具,它會(huì)集成更多的功能,或是和別的工具結(jié)合起來,成為一個(gè)綜合的檢測工具。 接受包的延時(shí)本來設(shè)置為 1000 毫秒,但正是由于延時(shí)過小,所以不能及時(shí)接收返回的包,導(dǎo)致了結(jié)果準(zhǔn)確率不高,很多掃描的結(jié)果都不能顯示出來。在一開始的實(shí)驗(yàn)中, 發(fā)現(xiàn)掃描速度及結(jié)果的準(zhǔn)確率都不理想。 } //創(chuàng)建標(biāo)準(zhǔn)文件對話框失敗 else if (nResponse == IDCANCEL) { return。 ******省略部分代碼 ****** fclose ( fp)。 在對掃描結(jié)果進(jìn)行保存的時(shí)候, 首先用 A 通過()得到一個(gè)掃描的 IP,然后將所有掃描這個(gè) IP 得到的端口 子屬性 ()寫到 A 的下面 。 } fprintf(fp,PortScanner 掃描結(jié)果如下 : \n)。 if ( fp == NULL ) { AfxMessageBox(寫入失敗 !)。 //創(chuàng)建標(biāo)準(zhǔn)文件對話框 ,用 ()來顯示創(chuàng)建的對話框 當(dāng)打開文件的時(shí)候?qū)傩栽O(shè)置為寫入, 并將得到的掃描結(jié)果保存到創(chuàng)建的文本文件當(dāng)中。 memset(pR+strlen(pR)4,0,4)。 } } TCHAR pR[MAX_PATH]={0}。 { if ( ::OK == TRUE ) { AfxMessageBox(失敗 , 還在掃描,請等待停止后再保存 !)。 如果程序仍然處于掃描狀態(tài)中,將不能保存結(jié)果。 掃描結(jié)果存儲模塊 通過使用 OnButtonSaveResult 函數(shù) ,在得到 保存結(jié)果的消息后首先判斷結(jié)果地址樹是否為空,如果有掃描結(jié)果 則創(chuàng)建一個(gè)標(biāo)準(zhǔn)文件對話框 以準(zhǔn)備存儲掃描結(jié)果 。接著釋放 hListenDlg(網(wǎng)卡 進(jìn)程 )和 m_pLocalIPList( 本地 IP 地址列表 ) ,并 設(shè)置((CWnd*)amp。首先判斷 有沒有得到 m_IsGo 傳來的掃描開始的消息, 如果有則 在 獲得終止掃描 消息后 延時(shí) 1 秒 ,并 通過 獲得amp。 最后 使用 if 循環(huán)來 判 斷 m_StartIP 和 m_EndIP,當(dāng) m_StartIP 大于 m_EndIP的時(shí)候,返回提示信息 起始 IP 必須 =結(jié)束 IP!;如果 起始 IP 小于 結(jié)束 IP, 則返回一個(gè) TRUE。 Return FALSE。 Return FALSE。 BOOL CLScanPortDlg::InitIP() { CIPAddressCtrl* pIP = (CIPAddressCtrl*) GetDlgItem(IDC_IPADDRESSA)。 目標(biāo) IP選取模塊 選擇 IP 范圍以確定掃描的目標(biāo) 。 首先將m_PortListTree 中的端口信息傳入到一個(gè)字符串 CString str 中, 并讀取端口列表地址 。 return FALSE。 else { HTREEITEM A = ()。 m_PortFrom++。 第 9 頁 共 22 頁 return FALSE。 這里通過 m_IsChecked 獲得選取端口范圍的消息, 然后就判斷端口范圍是否符合規(guī)則 ,即起始端口不應(yīng)該大于結(jié)束端口。 } 端口掃描 功能模塊 端口 選擇模塊 選擇 從 端口范圍或默認(rèn)端口列表中 獲取待掃描的端口 , 首先通 過消息傳遞函數(shù) m_IsChecked 來判斷是否得到了 選取 端口范圍的消息,如果是,則獲取起始端口和結(jié)束端口的數(shù)據(jù)并判斷起始端口是否不大于結(jié)束端口;如果沒有傳來消息,則嘗試 調(diào)用 從自定義端口列表樹中得到當(dāng)前所選擇 的默認(rèn)端口 并從端口列表樹中繼續(xù)獲得下一個(gè) 端口 。 void InsertToTree (CTreeCtrl* hTree,CString CSIP,CString CSPORT) { HTREEITEM A=hTreeInsertItem(CSIP,NULL,TVI_LAST)。 ******省略部分代碼 ****** InsertToTree (hTree,StrIP,CSPort)。amp。 TCPHEADER *lpTCPheader=(TCPHEADER*)(RecvBuf +sizeof(IPHEADER))。 ntohl(lpIPheadersourceIP)=EndIP) { char* sourceip=i_ntoa(* (struct in_addr *)amp。 ntohl (lpIPheadersourceIP)=StartIP amp。 if(lpIPheaderproto==IPPROTO_TCPamp。 lpIPheader=(IPHEADER *)RecvBuf。size)。 //接收數(shù)據(jù)包 ret=recvfrom(rawsock,RecvBuf,sizeof(RecvBuf),0,(struct sockaddr*)amp。lpcbBytesReturned, NULL, NULL)。 //設(shè)置 一個(gè)套接口的模式 ,接受所有數(shù)據(jù) WSAIoctl(rawsock, SIO_RCVALL, amp。 DWORD lpvBuffer = 1。 setsockopt(rawsock,SOL_SOCKET,SO_RCVTIMEO, (char *)amp。 第 7 頁 共 22 頁 圖 4 返回 IP包的接收及過濾 設(shè)置 SIO_RCVALL,包括延時(shí)和數(shù)據(jù)大小等信息, 以 接收所有的數(shù)據(jù)包 。然后再判斷 TCP頭部 , 要求目的端口等于選用端口號 , 控制標(biāo)志位為 SYN|ACK或者 RST。 程序使用兩次判斷來過濾 IP 包。addr_in, sizeof(addr_in))。 //監(jiān)聽所有的本地IP 地址 //對 rawsock 綁定本機(jī) IP 和端口 ,當(dāng)系統(tǒng)收到目標(biāo)的返回信息時(shí),便可以通過 rawsock 傳到應(yīng)用程序當(dāng)中 。 =htons(8288)。 在這里我們選用的是 8288。 } =AF_INET。 ******省略部分代碼 ****** if((rawsock=socket(AF_INET,SOCK_RAW,IPPROTO_IP))==INVALID_SOCKET) //建立原始 IPPROTO_IP 套接字 { AfxMessageBox(Socket Setup Error!\n)。 第 6 頁 共 22 頁 INFORLISTEN* lp =(INFORLISTEN*)lpvoid。 SOCKADDR_IN addr_in={0}。通過設(shè)置原始套接字的 I/0 控制命令,便可以調(diào)用 SIO_RCVALL 接收返回的數(shù)據(jù)包 ,分析是不是掃描程序返回的 。要達(dá)到接收數(shù)據(jù)包的目的,必須采用嗅探,接收所有通過的數(shù)據(jù)包,然后進(jìn)行篩選,留下符合需要的。因此,當(dāng)遠(yuǎn)端主機(jī)回應(yīng)時(shí),系統(tǒng)核心就把這些包都全部丟掉,從而到達(dá)不了應(yīng)用程序上。 3 端口掃描器的 實(shí)現(xiàn) 功能模塊簡介 程序?qū)崿F(xiàn)流程 SYN探測 的實(shí)現(xiàn) (5)原始套接字包發(fā)送完后,就可以接收目標(biāo)主機(jī)的回 應(yīng)。 (3)掃描結(jié)果存儲需求 在進(jìn)行完一次端口掃描之后,需要對結(jié)果進(jìn)行保存。 (2)端口選擇需求 當(dāng)我們在使用掃描軟件對目標(biāo)主機(jī)進(jìn)行 掃描的時(shí)候,有的時(shí)候是有目的性地掃描目標(biāo)主機(jī)的某一個(gè)端口,然而在大部分時(shí)候卻需要掃描批量端口或者是一些重要的指定端口。 軟件開發(fā)及運(yùn)行環(huán)境 系統(tǒng)開發(fā)工具 : Visual C++ 端口掃描器的需求分析 端口掃描器的一般需求 : (1)隱蔽性需求 作為掃描的一方來說,端口掃描除了要能掃 出 目標(biāo)主機(jī)的端口信息以外,還需要能有一定的隱蔽性,以最大的可能不在目標(biāo)主機(jī)留下訪問信息。在采用 SYN 刺探方式進(jìn)行掃描的基礎(chǔ)上成為一個(gè)基于 半打開 的實(shí)用、簡單、方便的端口掃描工具 。經(jīng)過對端口掃描技術(shù)的了解和認(rèn)識,本文采用隱蔽性較好基于主機(jī)的 SYN 刺探技術(shù)來實(shí)現(xiàn)。用收到包的時(shí)間減去發(fā)送時(shí)間戳即得到分組時(shí)延。利用發(fā)送序號和確認(rèn)序號的關(guān)系來傳遞時(shí)間戳??梢钥紤]用一種變通的方式嵌入時(shí)間戳。如果能像Ping一樣保證某一字段的數(shù)據(jù)在往返中不改變 , 就可以像 Ping一樣嵌入時(shí)間戳。雖然 TCP 協(xié)議規(guī)定了時(shí)間戳選項(xiàng) (類型 8), 用該選項(xiàng)中嵌入時(shí)間戳 , 服務(wù)器返回包的選項(xiàng)部分含有發(fā)送的時(shí)間戳。使用 SYN 包探測 , 可以檢測服務(wù)器和端口的狀態(tài)、分組時(shí)延、丟包率 , 又可以穿透防火墻 , 符合網(wǎng)絡(luò)對安全的要求。 第二步 : 因?yàn)椴恍枰⒄5?TCP 連接 , 所以對應(yīng)答 ACK 包的服務(wù)器發(fā)送 RST 包 , 保證服務(wù)器端關(guān)閉半連接。收到 RST 包 , 則說明服務(wù)器活動(dòng)但端口關(guān)閉 , 客戶端不用執(zhí)行第二步。 第 4 頁 共 22 頁 SYN 包探測 第一步 : 客戶端向服務(wù)器的工作端口發(fā)送 SYN, 服務(wù)器返回 SYN|ACK 包或 RST 包。實(shí)驗(yàn)發(fā)現(xiàn)對 SYN 包無應(yīng)答的主機(jī)對任何TCP 包都無應(yīng)答。通過網(wǎng)絡(luò)上別人的一些測試和實(shí)驗(yàn)發(fā)現(xiàn) , 對 Inter 中發(fā)布的 60 個(gè) HTTP 代理服務(wù)器進(jìn)行探測。因?yàn)?FIN 包不能直接探測監(jiān)聽端口 , 所以通常選擇使用 SYN 包或 ACK 包探測監(jiān)聽端口。所有的 URG, PSH 和 FIN, 或者沒有任何標(biāo)記的 TCP 數(shù)據(jù)包都會(huì)引起 “FIN行為 ”。 (4)當(dāng)一個(gè) FIN 數(shù)據(jù)包到達(dá)一個(gè)監(jiān)聽端口時(shí) , 數(shù)據(jù)包被丟棄。 (2)當(dāng)一個(gè)包含 ACK 的數(shù)據(jù)包到達(dá)一個(gè)監(jiān)聽端口時(shí) , 數(shù)據(jù)包被丟棄 , 同時(shí)發(fā)送一個(gè) RST 數(shù)據(jù)包。而服務(wù)器的地址和端口一般都是公開的 , 如果只探測服務(wù)器的工作端口 , 不用探測其余的端口 ,可以向工作端口發(fā)送特殊的 TCP 包 , 根據(jù)返回包判斷目標(biāo)狀態(tài)。 TCP 端口掃描技術(shù)通過發(fā)送一些特殊的 TCP 包判斷目標(biāo)主機(jī)和端口狀態(tài)。對于問題 (1)和 (2), 可以借鑒 TCP 端口掃描技術(shù) , 發(fā)送特殊 TCP 包解決。 SYN技術(shù)詳解 TCP 包探測原理 高效的探測方法需要解決 3 個(gè)問題 : (1)用幾個(gè)包判斷主機(jī)和端口狀態(tài) ; (2)占用雙方的資源少 ; (3)準(zhǔn)確的分組時(shí)延計(jì)算方法。 握手的第三步,發(fā)起連接請求的計(jì)算機(jī)對收到的序列號作出應(yīng)答,這樣,兩臺計(jì)算機(jī)之間的連接才算建立起來。因此現(xiàn)在的狀態(tài)稱為 “半連接 ”。 握手的第二步,接收到 SYN 請求的計(jì)算機(jī)響應(yīng)發(fā)送來的序列號,它會(huì)將ACK 標(biāo)記位置位,同時(shí)它也提供自己的序列號。 它的工作原理大致如下:握手的第一步,一臺計(jì)算機(jī)首先請求和另外一臺計(jì)算機(jī)建立連接,它通過發(fā)送一個(gè) SYN 請求 來完成,也即前面提到的 SYN 標(biāo)記位置位。 當(dāng)系統(tǒng)間建立連接和釋放連接時(shí),就會(huì)用到所謂的握手機(jī)制。這里僅提到其中的四個(gè)標(biāo)記位: SYN(同步 ), ACK(確認(rèn) ), RST(復(fù)位 )和 FIN(完成 )。 為了理解掃描以及它的工作原理,首先應(yīng)對 TCP的三次握手機(jī)制有所了解。 掃描器通過選用遠(yuǎn)程 TCP/IP 不同的端口的服務(wù),并記錄目標(biāo)給予的回答,通過這種方法,可以搜集到很多關(guān)于目標(biāo)主機(jī)的各種有用的信息。掃描器是一種自動(dòng)檢測遠(yuǎn)程或本地主機(jī)安全性弱點(diǎn)的程序,通過使用掃描器可以不留痕跡的發(fā)現(xiàn)遠(yuǎn)程服務(wù)器的各種 TCP 端口的分配及提供的服務(wù)和它們的軟件版本 。端口掃描也可以通過捕獲本地主機(jī)或服務(wù)器的流入流出 IP 數(shù)據(jù)包來監(jiān)視本地主機(jī)的運(yùn)行情況,它僅能對接收到的數(shù)據(jù)進(jìn)行分析,幫助我們發(fā)現(xiàn)目標(biāo)主機(jī)的某些內(nèi)在的弱點(diǎn),而不會(huì)提供進(jìn)入 一個(gè)系統(tǒng)的詳細(xì)步驟。 端口 掃描原理 端口掃描通常指用同一個(gè)信息對目標(biāo)主機(jī)的所有需要掃描的端口進(jìn)行發(fā)送探測數(shù)據(jù)包即掃描,然后,根據(jù)返回端口的狀態(tài)來分析目標(biāo)主機(jī)端口是否打開,是否可用。這些公司的掃描器以硬件為主,其特點(diǎn)是執(zhí)行速度快,不像軟件一樣受到安裝主機(jī)系統(tǒng)性能的限制。 國內(nèi)的掃描技術(shù)是在國外掃描器基礎(chǔ)上發(fā)展起來的。 國外安全掃描技術(shù)的歷史可以追溯到 20 世紀(jì) 90 年代,當(dāng)時(shí)因特網(wǎng)剛剛起步,但是在過去的十多年內(nèi),掃 描技術(shù)飛速發(fā)展,迄今為止,其掃描技術(shù)己經(jīng)非常完善,但是在全面性、
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1