




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、4/6/2020,1,計算機網(wǎng)絡(luò)編程技術(shù),第,2,章,主機掃描程序設(shè)計,張曉明,北京石油化工學院計算機系,4/6/2020,2,引子,主機安全,?,4.,萬事俱備,你的使命是什么?,主機,端口,服務(wù),使命,?,2.,如何獲得一個活動主機的端口?,1.,如何獲得一個活動的主機?,3.,已知一個活動主機的端口,如何獲得其開放的服務(wù)?,4/6/2020,3,本章的主要內(nèi)容,?,如何探測主機的活動狀態(tài)?,?,ICMP,協(xié)議原理與編程技術(shù),?,端口掃描器,?,?,端口掃描技術(shù)分類與工作原理,?,基于,TCP,全連接的掃描編程技術(shù),?,高級端口掃描編程技術(shù),4/6/2020,4,2.1,活動主機探測技術(shù),
2、?,PING,命令的用途?,4/6/2020,5,2.1.1 ICMP,協(xié)議介紹,(,1,),ICMP,的功能,?,ICMP(Internet control message protocol),網(wǎng)際控制報,文協(xié)議,?,ICMP,就是一個“錯誤偵測與回報機制,?,偵測遠端主機是否存在;,?,建立及維護路由資料;,?,重導資料傳送路徑;,?,資料流量控制,4/6/2020,6,(2) ICMP,與,IP,的關(guān)系,I,P,數(shù)據(jù)報的數(shù)據(jù)字段,收到的,I,P,數(shù)據(jù)報,I,P,數(shù)據(jù)報首部,8,字節(jié),I,CM,P,的,前,8,字節(jié),I,P,數(shù)據(jù)報首部,8,字節(jié),首部,I,CM,P,差錯報告報文,I,P,數(shù)
3、據(jù)報,I,CM,P,差錯報告報文,裝入,I,CM,P,報文的,I,P,數(shù)據(jù)報,4/6/2020,7,(3) ICMP,數(shù)據(jù)報格式,IC,M,P,類型,(,1B,),IC,M,P,代碼,(,1B,),檢驗和,(,2B,),標識符(,2B,),序列碼(,2B,),IC,M,P,數(shù)據(jù),4/6/2020,8,(4) ICMP,類型與代碼描述,(,部分),類型,代碼,描,述,查詢,差錯報告,0,0,Echo Reply,回顯應(yīng)答(,ping,應(yīng)答),?,3,0,Network Unreachable,網(wǎng)絡(luò)不可達,?,3,1,Host Unreachable,主機不可達,?,3,2,Protocol Un
4、reachable,協(xié)議不可達,?,3,3,Port Unreachable,端口不可達,?,3,4,Fragmentation needed but no frag. bit set,需要進行分,片但設(shè)置不分片比特,?,3,5,Source routing failed,源站選路失敗,?,3,6,Destination network unknown,目的網(wǎng)絡(luò)未知,?,3,7,Destination host unknown,目的主機未知,?,4/6/2020,9,ICMP,類型與代碼描述,(,續(xù)),類型,代碼,描,述,查詢,差錯報,告,8,0,Echo request,回顯請求(,ping
5、,請求),?,9,0,Router advertisement,路由器通告,10,0,Route solicitation,路由器請求,11,0,TTL equals 0 during transit,傳輸期間生存時間為,0,?,11,1,TTL equals 0 during reassembly,在數(shù)據(jù)報組裝期間生存時間為,0,?,12,0,IP header bad (catchall error),壞的,IP,首部(包括各種差錯),?,12,1,Required options missing,缺少必需的選項,?,13,0,Timestamp request (obsolete),時間
6、戳請求(作廢不用),?,14,Timestamp reply (obsolete),時間戳應(yīng)答(作廢不用),?,15,0,Information request (obsolete),信息請求(作廢不用),?,16,0,Information reply (obsolete),信息應(yīng)答(作廢不用),?,17,0,Address mask request,地址掩碼請求,?,18,0,Address mask reply,地址掩碼應(yīng)答,?,4/6/2020,10,PING,命令,?,ping,是響應(yīng)請求(類型,=8,)和應(yīng)答(類型,=0,)。,?,一臺主機向一個節(jié)點發(fā)送一個類型,=8,的,ICMP
7、,報文,如果途中沒有異,常(例如,被路由器丟棄、目標不回應(yīng),ICMP,或傳輸失?。?,則目標,返回類型,=0,的,ICMP,報文,說明這臺主機存在。,Ping,百度網(wǎng),百度網(wǎng)的地址從何得來?,4/6/2020,11,tracert,命令,通過計算,ICMP,報文通過的節(jié)點來確定主機與目標之間的網(wǎng)絡(luò)距離。,4/6/2020,12,Tracert,百度網(wǎng),4/6/2020,13,(5) ICMP,與網(wǎng)絡(luò)安全,?,ICMP,協(xié)議對于網(wǎng)絡(luò)安全具有極其重要的意義。,ICMP,協(xié)議本身的,特點決定了它非常容易被用于攻擊網(wǎng)絡(luò)上的路由器和主機。,?,“,Ping of Death”,攻擊,利用操作系統(tǒng)規(guī)定的,I
8、CMP,數(shù)據(jù)包最大尺寸不超過,64,這一規(guī)定,,向主機發(fā)起“,Ping of Death”,(死亡之,Ping,)攻擊。,“,Ping of Death”,的攻擊原理,是:如果,ICMP,數(shù)據(jù)包的尺寸超過,64KB,上限時,主機就會出現(xiàn)內(nèi)存分配錯誤,導致,TCP/IP,堆棧崩,潰,致使主機死機。(現(xiàn)在的操作系統(tǒng)已經(jīng)限制了發(fā)送,ICMP,數(shù)據(jù),包的大小,解決了這個漏洞。),?,ICMP,風暴,向目標主機長時間、連續(xù)、大量地發(fā)送,ICMP,數(shù)據(jù)包,使得目標,主機耗費大量的,CPU,資源處理。也會最終使系統(tǒng)癱瘓。,4/6/2020,14,2.1.2,基于,ICMP,的探測原理,?,直接對,IP,和,
9、ICMP,包進行操作,實驗中使用,RAW,模式的,SOCKET,編程。,?,定義,ICMP,報文。,IcmpPacket,類,?,客戶機發(fā)送封裝,ICMP,回顯請求報文的,IP,數(shù)據(jù)包。創(chuàng)建,Socket,實例,,再調(diào)用其,SendTo(),方法。,?,客戶機接收封裝,ICMP,應(yīng)答報文的,IP,數(shù)據(jù)包,:,調(diào)用,Socket,實例中的,ReceiveFrom(),方法。,4/6/2020,15,2.1.3,活動主機程序設(shè)計,?,使用界面,?,設(shè)計流程,否,否,否,否,否,是,是,是,是,是,開始,輸入地址,地址是否為空,?,地址欄不可為空,地址格式是否正確,?,生成并發(fā)送報文,報文是否出錯,
10、?,無法辨識主機,報文出現(xiàn)錯誤,接收報文,接收報文是否出錯,?,超時,計算傳輸時間并輸出,循環(huán)是否完成,?,退出,4/6/2020,16,2.2,端口掃描技術(shù),?,作用,?,如預(yù)攻擊探測,2.2.1,主機掃描過程,掃描器,尋找目標,主機是活動的,端口掃描,HTTP,服務(wù)在執(zhí)行,HTTP,脆弱性檢查,IIS 5,有漏洞,!,輸出報告,掃描,引擎,4/6/2020,17,Q/A,?,如何實現(xiàn)高速掃描,?,?,多連接,?,多線程,?,先探測主機的活動狀態(tài),只掃描活動主機,;,?,4/6/2020,18,2.2.2,端口掃描技術(shù)分類,端口掃描,全連接掃描,(TCP Connect,掃描,),半連接掃描
11、,(TCP SYN,掃描,),秘密掃描,其它掃描,TCP FIN,掃描,TCP ACK,掃描,NULL,掃描,XMAS,掃描,SYN/ACK,掃描,UDP,掃描,IP,分段掃描,慢速掃描,亂序掃描,4/6/2020,19,(1) TCP connect(),掃描,ACK,SYN,SYN/ACK,服務(wù)器,客戶機,RST,SYN,RST/ACK,服務(wù)器,客戶機,(a),連接建立成功,(b),連接不成功,4/6/2020,20,(2) TCP SYN,掃描,:,半開放掃描,(a) TCP SYN,掃描成功,(b) TCP SYN,掃描不成功,RST,SYN,SYN/ACK,服務(wù)器,客戶機,SYN,R
12、ST/ACK,服務(wù)器,客戶機,4/6/2020,21,(3) TCP FIN,掃描,(a) TCP FIN,掃描目標端口打開,(b) TCP FIN,掃描目標端口關(guān)閉,FIN,服務(wù)器,客戶機,FIN,RST,服務(wù)器,客戶機,4/6/2020,22,(4) TCP ACK,掃描,(a) TCP ACK,掃描目標端口打開,(b) TCP ACK,掃描目標端口關(guān)閉,ACK,RST(TTL=64),服務(wù)器,客戶機,ACK,RST(WINDOW,字段非零,),服務(wù)器,客戶機,4/6/2020,23,(5) NULL,掃描,(a) NULL,掃描目標端口打開,(b) NULL,掃描目標端口關(guān)閉,NULL(
13、,所有標志全都置空,),服務(wù)器,客戶機,RST,NULL(,所有標志全都置空,),服務(wù)器,客戶機,4/6/2020,24,(6) XMAS,掃描,(a) XMAS,掃描目標端口打開,(b) XMAS,掃描目標端口關(guān)閉,XMAS(,所有標志全都置,1),服務(wù)器,客戶機,RST,XMAS(,所有標志全都置,1),服務(wù)器,客戶機,4/6/2020,25,(7) SYN/ACK,掃描,(a) SYN/ACK,掃描目標端口打開,(b) SYN/ACK,掃描目標端口關(guān)閉,RST,SYN,和,ACK,標志置,1,服務(wù)器,客戶機,SYN,和,ACK,標志置,1,服務(wù)器,客戶機,4/6/2020,26,2.3
14、TCP,全連接,掃描程序設(shè)計,(1),基本流程,否,是,是,否,i+,初始化,(,獲取主機地址,);,i=0,i=,結(jié)束端口號,?,掃描完畢,調(diào)用,socket(),函數(shù)針對端口,i,創(chuàng)建新套接字,調(diào)用,connect(),函數(shù)嘗試建立連接,連接建立是否成功,?,輸出端口號,并調(diào)用,shutdown(),函數(shù),4/6/2020,27,(2),常規(guī)掃描程序,private void NormalScan(Object state),Int32 port=(Int32)state;,string tMsg=;,TcpClient tcp=new TcpClient();,try,tcp.Conne
15、ct(scanHost,port);,portSum+;,?杳瀽牯?潔瑓楲杮?尫,端口開放。,;,portList.Items.Add(tMsg);,tcp.Close();,catch,tcp.Close();,4/6/2020,28,(3),多線程掃描程序,/,設(shè)置最大線程數(shù),ThreadPool.SetMaxThreads(setThreadNum,setThreadNum);,for(Int32 threadNum=startPort;threadNum=endPort;threadNum+),ThreadPool.QueueUserWorkItem(new,WaitCallback(
16、StartScan),threadNum);,4/6/2020,29,多線程掃描程序段,public void StartScan(Object state),Int32 port=(Int32) state;,string tMsg=;,string getData=;,connState+; /,判斷線程數(shù)目,try,TcpClient tcp=new TcpClient();,tcp.Connect(scanHost,port);,portSum+;,?杳瀽牯?潔瑓楲杮?尫,端口開放。,;,portListArrayportSum-1=tMsg;,Stream sm=tcp.GetStr
17、eam();,sm.Write(Encoding.Default.GetBytes(tMsg.ToCharArray(),0,tMsg.Length);,StreamReader sr=new StreamReader(tcp.GetStream(), Encoding.Default);,try,getData=sr.ReadLine();,if(getData.Length!=0),?杳瀽牯?潔瑓楲杮?尫,端口數(shù)據(jù),:+getData.ToString();,portListArrayportSum-1=tMsg;,4/6/2020,30,全連接掃描程序界面,(a),常規(guī)掃描界面,(b),
18、多線程掃描界面,4/6/2020,31,2.4,高級端口掃描程序設(shè)計,?,高級端口掃描主要指的是半連接掃描和秘密掃描。,?,NMAP,工具的高級端口掃描,:,4/6/2020,32,基于,SYN,和,FIN,的掃描程序,?,設(shè)計界面,?,數(shù)據(jù)結(jié)構(gòu),包括,:,?,ICMP,?,IP_HEADER,?,TCP_HEADER,?,UDP_HEADER,?,FAKE_ HEADER,?,IPPort,?,DataInfo,4/6/2020,33,本章小結(jié)思考,?,如何使活動主機不被掃描到,?,?,如何防護自己的主機,不被掃描到端口及其服務(wù),?,?,當主機被掃描時,如何獲得其掃描痕跡,?,?,如何關(guān)閉不需要的服務(wù),以免黑客掃描,?,?,4/6/2020,34,基本實驗項目,1,TCP,全連接端口掃描功能的增強設(shè)計,:,(,1,)要求自動獲取被掃描主機的,IP,地址,并增加,DNS,功能,將主機,IP,地址更換為主機名。,(,2,)設(shè)
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JB/T 20208-2024大蜜丸涼丸機
- 統(tǒng)編版二年級語文下冊期末達標測試卷(模擬沖刺)(含答案)
- 湖南省岳陽市臨湘市2024-2025學年高三下學期入學考試物理試題(含答案)
- 2025年軍隊文職人員招聘之軍隊文職政治學能力提升試卷A卷附答案
- 2023年遼寧省中考地理試卷(含答案)
- 2021-2022學年廣東省廣州四中教育集團七年級(下)期中數(shù)學試卷(含答案)
- 護師房顫考試題及答案
- 2025年法律知識競賽判斷題庫及答案
- 智能能源管理平臺開發(fā)合作協(xié)議
- 工業(yè)制造業(yè)技術(shù)創(chuàng)新成果展示表
- 醫(yī)院財務(wù)知識培訓
- 綠植花卉租賃合同
- 2025年內(nèi)蒙古建筑職業(yè)技術(shù)學院單招職業(yè)適應(yīng)性測試題庫及答案1套
- JBT 11699-2013 高處作業(yè)吊籃安裝、拆卸、使用技術(shù)規(guī)程
- 2024年北京控股集團有限公司招聘筆試參考題庫含答案解析
- DB32T 4353-2022 房屋建筑和市政基礎(chǔ)設(shè)施工程檔案資料管理規(guī)程
- 健康教育護理服務(wù)質(zhì)量評價標準
- [合同協(xié)議]車輛掛靠協(xié)議書
- MT_T 1175-2019 輸送瓦斯用鋼管_(高清版)
- 鐵路選線設(shè)計之斷鏈
- 電子商務(wù)基礎(chǔ)與實務(wù)PPT課件
評論
0/150
提交評論