已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
OSI參考模型背景:3分層的好處:3對(duì)OSI參考模型的評(píng)價(jià):3數(shù)據(jù)格式:4數(shù)據(jù)包:4IP地址的分類:4OSI參考模型中的數(shù)據(jù)封裝過程:5MAC 地址:7為什么我們不直接使用硬件地址進(jìn)行通信?7IP地址與MAC地址的區(qū)別與特點(diǎn)7ARP協(xié)議:8ARP欺騙:9ARP欺騙攻擊原理:9網(wǎng)絡(luò)層(Network Layer):10ICMP協(xié)議:10TCP/UDP協(xié)議11DNS服務(wù)及協(xié)議:12DNS解析過程及原理12DNS的安全問題13SYN攻擊解析14WWW服務(wù)及HTTP:15HTTP請(qǐng)求格式16GET方法與POST方法17HTTP應(yīng)答17HTTPS19HTTPS和HTTP的區(qū)別19SSL安全套接層協(xié)議(Secure Socket Layer)20SSL協(xié)議特點(diǎn)20密鑰、密鑰對(duì)、公鑰、證書、私鑰20電子郵件服務(wù)及SMTP/POP協(xié)議21MUA,MTA與MDA21FTP協(xié)議:23DHCP協(xié)議:24DHCP服務(wù)器有3種為DHCP客戶機(jī)分配TCPIP地址的方式:26Telnet服務(wù)及協(xié)議:26OSI VS TCP/IP27socket通信與http通信的區(qū)別:281、TCP連接282、HTTP連接293、SOCKET原理294、SOCKET連接與TCP連接305、Socket連接與HTTP連接306.socket是什么307.什么時(shí)候用http,什么時(shí)候用socket31python基于http協(xié)議編程:httplib,urllib和urllib231負(fù)載均衡(Load Balance)31一個(gè)域名對(duì)應(yīng)多個(gè)IP地址32OSI參考模型背景: OSI參考模型(OSI/RM)的全稱是開放系統(tǒng)互連參考模 型(Open System Interconnection Reference Model,OSI/RM),它是由國際標(biāo)準(zhǔn)化組織(International Standard Organization,ISO)提出的一個(gè)網(wǎng)絡(luò)系統(tǒng)互連模型。在這個(gè)OSI七層模型中,每一層都為其上一層提供服務(wù)、并為其上一層提供一個(gè)訪問接口或界面。不同主機(jī)之間的相同層次稱為對(duì)等層。如主機(jī)A中的表示層和主機(jī)B中的表示層互為對(duì)等層、主機(jī)A中的會(huì)話層和主機(jī)B中的會(huì)話層互為對(duì)等層等。對(duì)等層之間互相通信需要遵守一定的規(guī)則,如通信的內(nèi)容、通信的方式,我們將其稱為協(xié)議(Protocol)。我們將某個(gè)主機(jī)上運(yùn)行的某種協(xié)議的集合稱為協(xié)議棧。主機(jī)正是利用這個(gè)協(xié)議棧來接收和發(fā)送數(shù)據(jù)的。分層的好處:各層之間是獨(dú)立的,結(jié)構(gòu)上可分割開,簡(jiǎn)化網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)的復(fù)雜性,靈活性好,易于實(shí)現(xiàn)和維護(hù)??梢愿臃奖愕剡m應(yīng)網(wǎng)絡(luò)技術(shù)和應(yīng)用需求變化能促進(jìn)標(biāo)準(zhǔn)化工作。每一層的功能及服務(wù)都可以很精確的說明。簡(jiǎn)單的說就是可以簡(jiǎn)化問題的分析、處理過程以及網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)的復(fù)雜性。對(duì)OSI參考模型的評(píng)價(jià):1. OSI模型的最重要的貢獻(xiàn)是將服務(wù)、接口和協(xié)議三個(gè)概念區(qū)分清楚了;2. 層次數(shù)量與內(nèi)容選擇不是很好,會(huì)話層很少用到,表示層幾乎是空的,數(shù)據(jù)鏈路層與網(wǎng)絡(luò)層有很多的子層插入;3. 尋址、流控與差錯(cuò)控制在每一層里都重復(fù)出現(xiàn),降低系統(tǒng)效率;4. 數(shù)據(jù)安全性、加密與網(wǎng)絡(luò)管理在參考模型的設(shè)計(jì)初期被忽略了;5. 參考模型的設(shè)計(jì)更多是被通信的思想所支配,不適合于計(jì)算機(jī)與軟件的工作方式;6. 嚴(yán)格按照層次模型編程的軟件效率很低。OSI參考模型的提出是為了解決不同廠商、不同結(jié)構(gòu)的網(wǎng)絡(luò)產(chǎn)品之間互連時(shí)遇到的不兼容性問題。但是該模型的復(fù)雜性阻礙了其在計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域的實(shí)際應(yīng)用。 與此對(duì)照,TCP/IP參考模型,獲得了非常廣泛的應(yīng)用。實(shí)際上,也是目前因特網(wǎng)范圍內(nèi)運(yùn)行的唯一一種協(xié)議。數(shù)據(jù)格式:數(shù)據(jù)幀:幀頭+IP數(shù)據(jù)包+幀尾 (幀頭包括源和目標(biāo)主機(jī)MAC地址及類型,幀尾是校驗(yàn)字) IP數(shù)據(jù)包:IP頭部+TCP數(shù)據(jù)信息(IP頭包括源和目標(biāo)主機(jī)IP地址、類型、生存期等) TCP數(shù)據(jù)信息:TCP頭部+實(shí)際數(shù)據(jù) (TCP頭包括源和目標(biāo)主機(jī)端口號(hào)、順序號(hào)、確認(rèn)號(hào)、校驗(yàn)字等)數(shù)據(jù)包:數(shù)據(jù)包是把所傳送的數(shù)據(jù)分段打成 “包”,再傳送出去。但是,與傳統(tǒng)的“連接型”分組交換不同,它屬于“無連接型”,是把打成的每個(gè)“包”(分組)都作為一個(gè)“獨(dú)立的報(bào)文”傳送出去,所以叫做“數(shù)據(jù)包”。這樣,在開始通信之前就不需要先連接好一條電路,各個(gè)數(shù)據(jù)包不一定都通過同一條路徑傳輸,所以叫做“無連接型”。這一特點(diǎn)非常重要,它大大提高了網(wǎng)絡(luò)的堅(jiān)固性和安全性。每個(gè)數(shù)據(jù)包都有報(bào)頭和報(bào)文這兩個(gè)部分,報(bào)頭中有目的地址等必要內(nèi)容,使每個(gè)數(shù)據(jù)包不經(jīng)過同樣的路徑都能準(zhǔn)確地到達(dá)目的地。在目的地重新組合還原成原來發(fā)送的數(shù)據(jù)。這就要IP具有分組打包和集合組裝的功能。在實(shí)際傳送過程中,數(shù)據(jù)包還要能根據(jù)所經(jīng)過網(wǎng)絡(luò)規(guī)定的分組大小來改變數(shù)據(jù)包的長度,IP數(shù)據(jù)包的最大長度可達(dá) 65535個(gè)字節(jié)。 IP地址的分類:網(wǎng)絡(luò)號(hào):用于識(shí)別主機(jī)所在的網(wǎng)絡(luò);主機(jī)號(hào):用于識(shí)別該網(wǎng)絡(luò)中的主機(jī)。 IP地址分為五類:A類保留給政府機(jī)構(gòu),B類分配給中等規(guī)模的公司,C類分配給任何需要的人,D類用于組播,E類用于實(shí)驗(yàn),各類可容納的地址數(shù)目不同。 A、B、C三類IP地址的特征:當(dāng)將IP地址寫成二進(jìn)制形式時(shí),A類地址的第一位總是0,B類地址的前兩位總是10,C類地址的前三位總是110。A類地址:(1)A類地址第1字節(jié)為網(wǎng)絡(luò)地址,其它3個(gè)字節(jié)為主機(jī)地址。它的第1個(gè)字節(jié)的第一位固定為0. (2)A類地址范圍:-55 B類地址:(1) B類地址第1字節(jié)和第2字節(jié)為網(wǎng)絡(luò)地址,其它2個(gè)字節(jié)為主機(jī)地址。它的第1個(gè)字節(jié)的前兩位固定為10. (2) B類地址范圍:-55。 C類地址:(1)C類地址第1字節(jié)、第2字節(jié)和第3個(gè)字節(jié)為網(wǎng)絡(luò)地址,第4個(gè)字節(jié)為主機(jī)地址。另外第1個(gè)字節(jié)的前三位固定為110。 (2)C類地址范圍:-55。 OSI參考模型中的數(shù)據(jù)封裝過程:在OSI參考模型中,當(dāng)一臺(tái)主機(jī)需要傳送用戶的數(shù)據(jù)(DATA)時(shí),數(shù)據(jù)首先通過應(yīng)用層的接口進(jìn)入應(yīng)用層。在應(yīng)用層,用戶的數(shù)據(jù)被加上 應(yīng)用層的報(bào)頭(Application Header,AH),形成應(yīng)用層協(xié)議數(shù)據(jù)單元(Protocol Data Unit,PDU),然后被遞交到下一層-表示表示層并不關(guān)心上層-應(yīng)用層的數(shù)據(jù)格式而是把整個(gè)應(yīng)用層遞交的數(shù)據(jù)包看成是一個(gè)整體進(jìn)行封裝,即加上表示層的報(bào)頭(Presentation Header,PH)。然后,遞交到下層-會(huì)話層。 同樣,會(huì)話層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層也都要分別給上層遞交下來的數(shù)據(jù)加上自己的報(bào)頭。它們是:會(huì)話層報(bào)頭(Session Header,SH)、傳輸層報(bào)頭(Transport Header,TH)、網(wǎng)絡(luò)層報(bào)頭(Network Header,NH)和數(shù)據(jù)鏈路層報(bào)頭(Data link Header,DH)。其中,數(shù)據(jù)鏈路層還要給網(wǎng)絡(luò)層遞交的數(shù)據(jù)加上數(shù)據(jù)鏈路層報(bào)尾(Data link Termination,DT)形成最終的一幀數(shù)據(jù)。當(dāng)一幀數(shù)據(jù)通過物理層傳送到目標(biāo)主機(jī)的物理層時(shí),該主機(jī)的物理層把它遞交到上層-數(shù)據(jù)鏈路層。數(shù)據(jù)鏈路層負(fù)責(zé)去掉數(shù)據(jù)幀的幀頭部DH和尾部DT(同時(shí)還進(jìn)行數(shù)據(jù)校驗(yàn))。如果數(shù)據(jù)沒有出錯(cuò),則遞交到上層-網(wǎng)絡(luò)層。同樣,網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層也要做類似的工作。最終,原始數(shù)據(jù)被遞交到目標(biāo)主機(jī)的具體應(yīng)用程序中。物理層(Physical Layer):主要定義物理設(shè)備標(biāo)準(zhǔn),如網(wǎng)線的接口類型、光纖的接口 類型、 各種傳輸介質(zhì)的傳輸速率等。 它的主要作用是傳輸比特流 (就是由 1、 0 轉(zhuǎn)化為電流強(qiáng)弱來進(jìn)行傳輸,到達(dá)目的地后在轉(zhuǎn)化為 1、0)。確定與傳輸介質(zhì)的接口有關(guān)的一些特性(包括機(jī)械特性、電氣特性、功能特性以及過程特性)在這一層,數(shù)據(jù)的單位稱為比特(bit)。接口標(biāo)準(zhǔn)的四個(gè)特性: 機(jī)械特性:指明接口的形狀和尺寸、引腳的數(shù)目和排列、電纜的長度及所含導(dǎo)線的數(shù)目等等。電氣特性:指明在接口電纜的各條線上出現(xiàn)的電壓的范圍,信號(hào)的表示方式,脈沖寬度和頻率,數(shù)據(jù)傳送速率,最大傳輸距離等;功能特性:接口引(線)腳的功能和作用,指明某條線上出現(xiàn)的某一電平的電壓表示何種意義;過程特性:指明對(duì)于不同功能的各種可能事件的出現(xiàn)順序。如為了實(shí)現(xiàn)建立、維持、釋放線路等過程中所要求的各控制信號(hào)變化的協(xié)調(diào)關(guān)系數(shù)據(jù)鏈路層(Data Link Layer):主要對(duì)從上下層接受的數(shù)據(jù)進(jìn)行 MAC 地址的封裝與解封裝。數(shù)據(jù)鏈路層在不可靠的物理介質(zhì)上提供可靠的傳輸。該層的作用包括:物理地址尋址、數(shù)據(jù)的成幀、流量控制、數(shù)據(jù)的檢錯(cuò)、重發(fā)等。在這一層,數(shù)據(jù)的單位稱為幀(frame)。幀(frame): 幀頭 + 數(shù)據(jù) + 校驗(yàn) 數(shù)據(jù)鏈路層協(xié)議:ARPMAC 地址:在局域網(wǎng)中,硬件地址又稱為物理地址,或 MAC 地址。 注意:MAC地址是在數(shù)據(jù)鏈路層進(jìn)行處理,而不是在物理層。網(wǎng)絡(luò)節(jié)點(diǎn)的每一個(gè)網(wǎng)絡(luò)接口(網(wǎng)卡)都有一個(gè)唯一的MAC地址。MAC地址固化在網(wǎng)卡中,一個(gè)節(jié)點(diǎn)允許有多個(gè)MAC地址,取決于該站點(diǎn)網(wǎng)絡(luò)接口的個(gè)數(shù)。例如:安裝有多塊網(wǎng)卡的計(jì)算機(jī);有多個(gè)以太網(wǎng)接口的路由器。路由器由于同時(shí)連接到兩個(gè)網(wǎng)絡(luò)上,因此它有兩塊網(wǎng)卡和兩個(gè)硬件地址。MAC地址的長度為6個(gè)字節(jié),共48位為什么我們不直接使用硬件地址進(jìn)行通信?由于全世界存在著各式各樣的網(wǎng)絡(luò),它們使用不同的硬件地址。要使這些異構(gòu)網(wǎng)絡(luò)能夠互相通信就必須進(jìn)行非常復(fù)雜的硬件地址轉(zhuǎn)換工作,因此幾乎是不可能的事。即使硬件地址格式得到統(tǒng)一,但硬件地址不可能象IP地址一樣具有層次結(jié)構(gòu)(網(wǎng)絡(luò)號(hào)+主機(jī)號(hào)),因此路由表將非常龐大,從而不可實(shí)現(xiàn)。 IP地址與MAC地址的區(qū)別與特點(diǎn)一、IP地址IP地址,指使用TCP/IP協(xié)議指定給主機(jī)的32位地址。IP地址由用點(diǎn)分隔開的4個(gè)8八位組構(gòu)成,如 就是一個(gè)IP地址,這種寫法叫點(diǎn)分十進(jìn)制格式。IP地址由網(wǎng)絡(luò)地址和主機(jī)地址兩部分組成,分配給這兩部分的位數(shù)隨地址類(A類、B 類、C類等)的不同而不同。網(wǎng)絡(luò)地址用于路由選擇,而主機(jī)地址用于在網(wǎng)絡(luò)或子網(wǎng)內(nèi)部尋找一個(gè)單獨(dú)的主機(jī)。一個(gè)IP地址使得將來自源地址的數(shù)據(jù)通過路由而傳 送到目的地址變?yōu)榭赡?。二、MAC地址MAC地址也叫物理地址、硬件地址或鏈路地址,由網(wǎng)絡(luò)設(shè)備制造商生產(chǎn)時(shí)寫在硬件內(nèi)部。這個(gè)地址與網(wǎng)絡(luò)無關(guān)。三、MAC地址的長度、表示方法、分配方法及其唯一性MAC地址的長度為48位(6個(gè)字節(jié)),通常表示為12個(gè)16進(jìn)制數(shù),每2個(gè)16進(jìn)制數(shù)之間用冒號(hào)隔開, 如:08:00:20:0A:8C:6D就是一個(gè)MAC地址,其中前6位16進(jìn)制數(shù)08:00:20代表網(wǎng)絡(luò)硬件制造商的編號(hào),它由 IEEE(Istitute of Electrical and Electronics Engineers,電氣與電子工程師協(xié)會(huì))分配,而后3位16進(jìn)制數(shù)0A:8C:6D代表該制造商所制造的某個(gè)網(wǎng)絡(luò)產(chǎn)品(如網(wǎng)卡)的系列號(hào)。每個(gè)網(wǎng)絡(luò)制造商必須確保它所制造的每個(gè)以太網(wǎng)設(shè)備都具有相同的前三字節(jié)以及不同的后三個(gè)字節(jié)。這樣就可保證世界上每個(gè)以太網(wǎng)設(shè)備都具有唯一的MAC地址。四、IP地址與MAC地址在互連網(wǎng)中的作用既然每個(gè)以太網(wǎng)設(shè)備在出廠時(shí)都有一個(gè)唯一的MAC地址了,那為什么還需要為每臺(tái)主機(jī)再分配一個(gè)IP地址呢?主要原因有以下幾點(diǎn):(1)IP地址的分配是根據(jù)網(wǎng)絡(luò)的拓樸結(jié)構(gòu),而不是根據(jù)誰制造了網(wǎng)絡(luò)設(shè)置。若將高效的路由選擇方案建立在設(shè)備制造商的基礎(chǔ)上而不是網(wǎng)絡(luò)所處的拓樸位置基礎(chǔ)上,這種方案是不可行的。(2) 當(dāng)存在一個(gè)附加層的地址尋址時(shí),設(shè)備更易于移動(dòng)和維修。例如,如果一個(gè)以太網(wǎng)卡壞了,可以被更換,而無須取得一個(gè)新的IP地址。如果一個(gè)IP主機(jī)從一個(gè)網(wǎng)絡(luò)移到另一個(gè)網(wǎng)絡(luò),可以給它一個(gè)新的IP地址,而無須換一個(gè)新的網(wǎng)卡。(3)無論是局域網(wǎng),還是廣域網(wǎng)中的計(jì)算機(jī)之間的通信,最終都表現(xiàn)為將數(shù)據(jù)包從某種形式的鏈路上的初始節(jié)點(diǎn)出發(fā),從一個(gè)節(jié)點(diǎn)傳遞到另一個(gè)節(jié)點(diǎn),最終傳送到目的節(jié)點(diǎn)。數(shù)據(jù)包在這些節(jié)點(diǎn)之間的移動(dòng)都是由ARP(Address Resolution Protocol:地址解析協(xié)議)負(fù)責(zé)將IP地址映射到MAC地址上來完成的。下面我們來通過一個(gè)例子看看IP地址和MAC地址是怎樣結(jié)合來傳送數(shù)據(jù)包的。假設(shè)網(wǎng)絡(luò)上要將一個(gè)數(shù)據(jù)包(名為PAC)由北京的一臺(tái)主機(jī)(名稱為A,IP地址為IP_A,MAC地址為MAC_A)發(fā)送到華盛頓的一臺(tái)主機(jī)(名稱 為B,IP地址為IP_B,MAC地址為MAC_B)。這兩臺(tái)主機(jī)之間不可能是直接連接起來的,因而數(shù)據(jù)包在傳遞時(shí)必然要經(jīng)過許多中間節(jié)點(diǎn)(如路由器,服 務(wù)器等等),我們假定在傳輸過程中要經(jīng)過C1、C2、C3(其MAC地址分別為M1,M2,M3)三個(gè)節(jié)點(diǎn)。A在將PAC發(fā)出之前,先發(fā)送一個(gè)ARP請(qǐng) 求,找到其要到達(dá)IP_B所必須經(jīng)歷的第一個(gè)中間節(jié)點(diǎn)C1的MAC地址M1,然后在其數(shù)據(jù)包中封裝(Encapsulation)這些地址:IP_A、 IP_B,MAC_A和M1。當(dāng)PAC傳到C1后,再由ARP根據(jù)其目的IP地址IP_B,找到其要經(jīng)歷的第二個(gè)中間節(jié)點(diǎn)C2的MAC地址M2,然后再將 帶有M2的數(shù)據(jù)包傳送到C2。如此類推,直到最后找到帶有IP地址為IP_B的B主機(jī)的地址MAC_B,最終傳送給主機(jī)B。在傳輸過程中,IP_A、 IP_B和MAC_A不變,而中間節(jié)點(diǎn)的MAC地址通過ARP在不斷改變(M1,M2,M3),直至目的地址MAC_B。綜合上面所述,我們可以歸納出IP地址和MAC地址相同點(diǎn)是它們都唯一,不同的特點(diǎn)主要有:1. 對(duì)于網(wǎng)絡(luò)上的某一設(shè)備,如一臺(tái)計(jì)算機(jī)或一臺(tái)路由器,其IP地址可變(但必須唯一),而MAC地址不可變。我們可以根據(jù)需要給一臺(tái)主機(jī)指定任意的IP地址, 如我們可以給局域網(wǎng)上的某臺(tái)計(jì)算機(jī)分配IP地址為12 ,也可以將它改成00。而任一網(wǎng)絡(luò)設(shè)備(如網(wǎng)卡,路由器)一旦生產(chǎn)出來以后,其MAC地址永遠(yuǎn)唯一且不能由用戶改變。2. 長度不同。IP地址為32位,MAC地址為48位。3. 分配依據(jù)不同。IP地址的分配是基于網(wǎng)絡(luò)拓樸,MAC地址的分配是基于制造商。4. 尋址協(xié)議層不同。IP地址應(yīng)用于OSI第三層,即網(wǎng)絡(luò)層,而MAC地址應(yīng)用在OSI第二層,即數(shù)據(jù)鏈路層。 數(shù)據(jù)鏈路層協(xié)議可以使數(shù)據(jù)從一個(gè)節(jié)點(diǎn)傳遞到相同鏈路的另一個(gè)節(jié)點(diǎn)上(通過MAC地址),而網(wǎng)絡(luò)層協(xié)議使數(shù)據(jù)可以從一個(gè)網(wǎng)絡(luò)傳遞到另一個(gè)網(wǎng)絡(luò)上(ARP根據(jù)目的IP地址,找到中間節(jié)點(diǎn)的MAC地址,通過中間節(jié)點(diǎn)傳送,從而最終到達(dá)目的網(wǎng)絡(luò))。ARP協(xié)議:ARP(Address Resolution Protocol,地址解析協(xié)議)是獲取物理地址的一個(gè)TCP/IP協(xié)議。在局域網(wǎng)中,網(wǎng)絡(luò)中實(shí)際傳輸?shù)氖恰皫?,幀里面有目?biāo)主機(jī)的MAC地址。在以太網(wǎng)中,一個(gè)主機(jī)要和另一個(gè)主機(jī)進(jìn)行直接通信,必須要知道目標(biāo)主機(jī)的MAC地址。目標(biāo)MAC地址就是通過地址解析協(xié)議獲得的。所謂“地址解析”就是主機(jī)在發(fā)送幀前將目標(biāo)IP地址轉(zhuǎn)換成目標(biāo)MAC地址的過程。ARP協(xié)議的基本功能就是通過目標(biāo)設(shè)備的IP地址,查詢目標(biāo)設(shè)備的MAC地址,以保證通信的順利進(jìn)行。我們以主機(jī)Host A()向主機(jī)Host B()發(fā)送數(shù)據(jù)為例。當(dāng)發(fā)送數(shù)據(jù)時(shí),主機(jī)A會(huì)在自己的ARP緩存表中尋找是否有目標(biāo)IP地址。如果找到了,也就知道了目標(biāo)MAC地址,直接把目標(biāo)MAC地址寫入幀里面發(fā)送就可以了;如果在ARP緩存表中沒有找到相對(duì)應(yīng)的IP地址,主機(jī)A就會(huì)在網(wǎng)絡(luò)上發(fā)送一個(gè)廣播,目標(biāo)MAC地址是“FF.FF.FF.FF.FF.FF”/00.00.00.00.00.00,這表示向同一網(wǎng)段內(nèi)的所有主機(jī)發(fā)出這樣的詢問:“的MAC地址是什么?”網(wǎng)絡(luò)上其他主機(jī)并不響應(yīng)ARP詢問,只有主機(jī)B接收到這個(gè)幀時(shí),才向主機(jī)A做出這樣的回應(yīng):“的MAC地址是00-aa-00-62-c6-09”。這樣,主機(jī)A就知道了主機(jī)B的MAC地址,它就可以向主機(jī)B發(fā)送信息了。同時(shí)它還更新了自己的ARP緩存表,下次再向主機(jī)B發(fā)送信息時(shí),直接從ARP緩存表里查找就可以了。ARP欺騙:一個(gè)入侵者想非法進(jìn)入某臺(tái)主機(jī),他知道這臺(tái)主機(jī)的防火墻只對(duì)(假設(shè))這個(gè)ip開放23口(telnet),而他必須要使用telnet來進(jìn)入這臺(tái)主機(jī),所以他要這么做:1、他先研究這臺(tái)主機(jī),發(fā)現(xiàn)這臺(tái)95的機(jī)器使用一個(gè)oob就可以讓他死掉。2、于是,他送一個(gè)洪水包給的139口,于是,該機(jī)器應(yīng)包而死。3、這時(shí),主機(jī)發(fā)到的ip包將無法被機(jī)器應(yīng)答,系統(tǒng)開始更新自己的arp對(duì)應(yīng)表。將的項(xiàng)目搽去。4、這段時(shí)間里,入侵者把自己的ip改成5、他發(fā)一個(gè)ping(icmp 0)給主機(jī),要求主機(jī)更新主機(jī)的arp轉(zhuǎn)換表。6、主機(jī)找到該ip,然后在arp表中加入新的ip-mac對(duì)應(yīng)關(guān)系。7、防火墻失效了,入侵的ip變成合法的mac地址,可以telnet了。 ARP欺騙攻擊原理:為了減少網(wǎng)絡(luò)上過多的ARP數(shù)據(jù)通信,一臺(tái)主機(jī),即使收到的ARP應(yīng)答并非自己請(qǐng)求得到的,它也會(huì)將其插入到自己的ARP緩存表中,這樣,就造成了“ ARP 欺騙”的可能。如果黑客想探聽同一網(wǎng)絡(luò)中兩臺(tái)主機(jī)之間的通信(即使是通過交換機(jī)相連),他會(huì)分別給這兩臺(tái)主機(jī)發(fā)送一個(gè) ARP 應(yīng)答包,讓兩臺(tái)主機(jī)都“誤”認(rèn)為第三方黑客的主機(jī)MAC地址是對(duì)方的MAC地址,這樣,雙方看似“直接”的通信連接,實(shí)際上都是通過黑客所在的主機(jī)間接進(jìn)行的。黑客一方面得到了想要的通信內(nèi)容,另一方面,只需要更改數(shù)據(jù)包中的一些信息,成功地做好轉(zhuǎn)發(fā)工作即可。網(wǎng)絡(luò)層(Network Layer):主要將從上下層接收到的數(shù)據(jù)進(jìn)行 IP 地址的封裝與解封裝。此外,網(wǎng)絡(luò)層還可以實(shí)現(xiàn)路由選擇、主機(jī)尋址、擁塞控制、網(wǎng)際互連等功能。在這一層,數(shù)據(jù)的單位稱為數(shù)據(jù)包(packet)。網(wǎng)絡(luò)層協(xié)議的代表包括:IP,ICMP等。ICMP協(xié)議:ICMP協(xié)議是一種面向無連接的協(xié)議,用于傳輸出錯(cuò)報(bào)告控制信息。它是一個(gè)非常重要的協(xié)議,它對(duì)于網(wǎng)絡(luò)安全具有極其重要的意義。 它是TCP/IP協(xié)議族的一個(gè)子協(xié)議,屬于網(wǎng)絡(luò)層協(xié)議,主要用于在主機(jī)與路由器之間傳遞控制信息,包括報(bào)告錯(cuò)誤、交換受限控制和狀態(tài)信息等。當(dāng)遇到IP數(shù)據(jù)無法訪問目標(biāo)、IP路由器無法按當(dāng)前的傳輸速率轉(zhuǎn)發(fā)數(shù)據(jù)包等情況時(shí),會(huì)自動(dòng)發(fā)送ICMP消息。 比如我們經(jīng)常使用的用于檢查網(wǎng)絡(luò)通不通的Ping命令,這個(gè)“Ping”的過程實(shí)際上就是ICMP協(xié)議工作的過程。ICMP的重要性ICMP協(xié)議對(duì)于網(wǎng)絡(luò)安全具有極其重要的意義。ICMP協(xié)議本身的特點(diǎn)決定了它非常容易被用于攻擊網(wǎng)絡(luò)上的路由器和主機(jī)??梢岳貌僮飨到y(tǒng)規(guī)定的ICMP數(shù)據(jù)包最大尺寸不超過64KB這一規(guī)定,向主機(jī)發(fā)起“Ping of Death”(死亡之Ping)攻擊。“Ping of Death” 攻擊的原理是:如果ICMP數(shù)據(jù)包的尺寸超過64KB上限時(shí),主機(jī)就會(huì)出現(xiàn)內(nèi)存分配錯(cuò)誤,導(dǎo)致TCP/IP堆棧崩潰,致使主機(jī)死機(jī)。(現(xiàn)在的操作系統(tǒng)已經(jīng)取消了發(fā)送ICMP數(shù)據(jù)包的大小的限制,解決了這個(gè)漏洞) 此外,向目標(biāo)主機(jī)長時(shí)間、連續(xù)、大量地發(fā)送ICMP數(shù)據(jù)包,也會(huì)最終使系統(tǒng)癱瘓。大量的ICMP數(shù)據(jù)包會(huì)形成“ICMP風(fēng)暴”,使得目標(biāo)主機(jī)耗費(fèi)大量的CPU資源處理,疲于奔命。傳輸層(Transport Layer):定義了一些傳輸數(shù)據(jù)的協(xié)議和端口號(hào)(WWW 端口 80 等)在這一層,數(shù)據(jù)的單位稱為數(shù)據(jù)段(segment)。傳輸層協(xié)議的代表包括:TCP、UDP等。TCP/UDP協(xié)議TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)協(xié)議屬于傳輸層協(xié)議。一般來說,TCP對(duì)應(yīng)的是可靠性要求高的應(yīng)用,而UDP對(duì)應(yīng)的則是可靠性要求低、傳輸經(jīng)濟(jì)的應(yīng)用。TCP支持的應(yīng)用協(xié)議主要有:Telnet、FTP、SMTP等;UDP支持的應(yīng)用層協(xié)議主要有:NFS(網(wǎng)絡(luò)文件系統(tǒng))、SNMP(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)、DNS(主域名稱系統(tǒng))、TFTP(通用文件傳輸協(xié)議)等。TCP:1、面向連接,遵循三次握手機(jī)制 2、可靠傳輸,開銷大 3、常用于協(xié)議:ftp(20/21),telnet(23),smtp(25),http(80).UDP:1、面向無連接 2、不可靠傳輸,開銷小,簡(jiǎn)單, 3、適合于對(duì)延遲敏感但是允許一定程度丟包的應(yīng)用,比如語音,視頻 常用協(xié)議:dns,tftp,snmp,rip.會(huì)話層(Session Layer):通過傳輸層(端口號(hào):傳輸端口與接收端口)建立數(shù)據(jù)傳輸?shù)耐?。主要管理主機(jī)之間的會(huì)話進(jìn)程,即負(fù)責(zé)建立、管理、終止進(jìn)程之間的會(huì)話。表示層(Presentation Layer):主要是進(jìn)行對(duì)接收的數(shù)據(jù)進(jìn)行解釋、加密與解密、壓縮與 解壓縮等 (也就是把計(jì)算機(jī)能夠識(shí)別的東西轉(zhuǎn)換成人能夠能識(shí)別的東西 (如 圖片、聲音等)應(yīng)用層(Application Layer):應(yīng)用層為操作系統(tǒng)或網(wǎng)絡(luò)應(yīng)用程序提供訪問網(wǎng)絡(luò)服務(wù)的接口。 主要是一些終端的應(yīng)用,比如說 FTP(各種文件下載),WEB(IE 瀏覽),QQ 之類的應(yīng)用層協(xié)議的代表包括:Telnet、FTP、HTTP、SMTP、POP3、DNS、DHCP等。DNS服務(wù)及協(xié)議:DNS 是域名系統(tǒng) (Domain Name System) ,是一種用以將域名轉(zhuǎn)換為IP地址的Internet服務(wù)。在數(shù)據(jù)網(wǎng)絡(luò)中,設(shè)備以數(shù)字IP地址 標(biāo)記,從而可以參與收發(fā)消息。但是人們很難記住這些數(shù)字地址。于是,人們創(chuàng)建了可以將數(shù)字地址轉(zhuǎn)換為簡(jiǎn)單易記名稱的域名系統(tǒng)。在Internet上,更便于人們記憶的是這樣的域名,而不是該服務(wù)器的實(shí)際數(shù)字地址05。而且,即使Cisco決定更換數(shù)字地址,也不會(huì)給用戶造成影響,因?yàn)槠溆蛎?仍然是。如圖3-11所示,公司只需要將新地址與現(xiàn)有域名鏈接起來即可保證連通性。圖3-11 解析DNS地址DNS解析過程及原理第一步:客戶機(jī)提出域名解析請(qǐng)求,并將該請(qǐng)求發(fā)送給本地的域名服務(wù)器。第二步:當(dāng)本地的域名服務(wù)器收到請(qǐng)求后,就先查詢本地的緩存,如果有該紀(jì)錄項(xiàng),則本地的域名服務(wù)器就直接把查詢的結(jié)果返回。第三步:如果本地的緩存中沒有該紀(jì)錄,則本地域名服務(wù)器就直接把請(qǐng)求發(fā)給根域名服務(wù)器,然后根域名服務(wù)器再返回給本地域名服務(wù)器一個(gè)所查詢域(根的子域)的主域名服務(wù)器的地址。第四步:本地服務(wù)器再向上一步返回的域名服務(wù)器發(fā)送請(qǐng)求,然后接受請(qǐng)求的服務(wù)器查詢自己的緩存,如果沒有該紀(jì)錄,則返回相關(guān)的下級(jí)的域名服務(wù)器的地址。第五步:重復(fù)第四步,直到找到正確的紀(jì)錄。第六步:本地域名服務(wù)器把返回的結(jié)果保存到緩存,以備下一次使用,同時(shí)還將結(jié)果返回給客戶機(jī)。讓我們舉一個(gè)例子來詳細(xì)說明解析域名的過程.假設(shè)我們的客戶機(jī)如果想要訪問站點(diǎn): , 此客戶本地的域名服務(wù)器是 , 一個(gè)根域名服務(wù)器是NS.INTER.NET , 所要訪問的網(wǎng)站的域名服務(wù)器是,域名解析的過程如下所示:(1)客戶機(jī)發(fā)出請(qǐng)求解析域名的報(bào)文(2)本地的域名服務(wù)器收到請(qǐng)求后, 查詢本地緩存, 假設(shè)沒有該紀(jì)錄, 則本地域名服務(wù)器則向根域名服務(wù)器NS.INTER.NET發(fā)出請(qǐng)求解析域名(3)根域名服務(wù)器NS.INTER.NET收到請(qǐng)求后查詢本地記錄得到如下結(jié)果: NS (表示域中的域名服務(wù)器為: ), 同時(shí)給出的地址,并將結(jié)果返回給域名服務(wù)器。(4)域名服務(wù)器 收到回應(yīng)后,再發(fā)出請(qǐng)求解析域名的報(bào)文。(5)域名服務(wù)器 收到請(qǐng)求后,開始查詢本地的記錄,找到如下一條記錄: A 2 (表示域中域名服務(wù)器的IP地址為:2),并將結(jié)果返回給客戶本地域名服務(wù)器。(6)客戶本地域名服務(wù)器將返回的結(jié)果保存到本地緩存,同時(shí)將結(jié)果返回給客戶機(jī)。這樣就完成了一次域名解析過程圖3-12 DNS服務(wù)器層次結(jié)構(gòu) DNS的安全問題1、 針對(duì)域名系統(tǒng)的惡意攻擊:DDOS攻擊造成域名解析癱瘓。 DDOS全名是Distributed Denial of service (分布式拒絕服務(wù)),很多DOS攻擊源一起攻擊某臺(tái)服務(wù)器就組成了DDOS攻擊DoS的攻擊方式有很多種,最基本的DoS攻擊就是利用合理的服務(wù)請(qǐng)求來占用過多的服務(wù)資源,從而使服務(wù)器無法處理合法用戶的指令。DDoS攻擊手段是在傳統(tǒng)的DoS攻擊基礎(chǔ)之上產(chǎn)生的一類攻擊方式。單一的DoS攻擊一般是采用一對(duì)一方式的,當(dāng)被攻擊目標(biāo)CPU速度低、內(nèi)存小或者網(wǎng)絡(luò)帶寬小等等各項(xiàng)性能指標(biāo)不高時(shí),它的效果是明顯的。隨著計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)的發(fā)展,計(jì)算機(jī)的處理能力迅速增長,內(nèi)存大大增加,同時(shí)也出現(xiàn)了千兆級(jí)別的網(wǎng)絡(luò),這使得DoS攻擊的困難程度加大了 - 目標(biāo)對(duì)惡意攻擊包的消化能力加強(qiáng)了不少,例如你的攻擊軟件每秒鐘可以發(fā)送3,000個(gè)攻擊包,但我的主機(jī)與網(wǎng)絡(luò)帶寬每秒鐘可以處理10,000個(gè)攻擊包,這樣一來攻擊就不會(huì)產(chǎn)生什么效果。這時(shí)候分布式的拒絕服務(wù)攻擊手段(DDoS)就應(yīng)運(yùn)而生了。你理解了DoS攻擊的話,它的原理就很簡(jiǎn)單。如果說計(jì)算機(jī)與網(wǎng)絡(luò)的處理能力加大了10倍,用一臺(tái)攻擊機(jī)來攻擊不再能起作用的話,攻擊者使用10臺(tái)攻擊機(jī)同時(shí)攻擊呢?用100臺(tái)呢?DDoS就是利用更多的傀儡機(jī)來發(fā)起進(jìn)攻,以比從前更大的規(guī)模來進(jìn)攻受害者。高速廣泛連接的網(wǎng)絡(luò)給大家?guī)砹朔奖?,也為DDoS攻擊創(chuàng)造了極為有利的條件。在低速網(wǎng)絡(luò)時(shí)代時(shí),駭客占領(lǐng)攻擊用的傀儡機(jī)時(shí),總是會(huì)優(yōu)先考慮離目標(biāo)網(wǎng)絡(luò)距離近的機(jī)器,因?yàn)榻?jīng)過路由器的跳數(shù)少,效果好。而現(xiàn)在電信骨干節(jié)點(diǎn)之間的連接都是以G為級(jí)別的,大城市之間更可以達(dá)到2.5G的連接,這使得攻擊可以從更遠(yuǎn)的地方或者其他城市發(fā)起,攻擊者的傀儡機(jī)位置可以在分布在更大的范圍,選擇起來更靈活了SYN攻擊解析 SYN攻擊屬于DOS攻擊的一種,它利用TCP協(xié)議缺陷,通過發(fā)送大量的半連接請(qǐng)求,耗費(fèi)CPU和內(nèi)存資源。TCP協(xié)議建立連接的時(shí)候需要雙方相互確認(rèn)信息,來防止連接被偽造和精確控制整個(gè)數(shù)據(jù)傳輸過程數(shù)據(jù)完整有效。所以TCP協(xié)議采用三次握手建立一個(gè)連接。第一次握手:建立連接時(shí),客戶端發(fā)送syn包到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn);第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN 同時(shí)自己也發(fā)送一個(gè)SYN包 即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài);第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK,此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手。SYN攻擊利用TCP協(xié)議三次握手的原理,大量發(fā)送偽造源IP的SYN包也就是偽造第一次握手?jǐn)?shù)據(jù)包,服務(wù)器每接收到一個(gè)SYN包就會(huì)為這個(gè)連接信息分配核心內(nèi)存并放入半連接隊(duì)列,如果短時(shí)間內(nèi)接收到的SYN太多,半連接隊(duì)列就會(huì)溢出,操作系統(tǒng)會(huì)把這個(gè)連接信息丟棄造成不能連接,當(dāng)攻擊的SYN包超過半連接隊(duì)列的最大值時(shí),正常的客戶發(fā)送SYN數(shù)據(jù)包請(qǐng)求連接就會(huì)被服務(wù)器丟棄,每種操作系統(tǒng)半連接隊(duì)列大小不一樣所以抵御SYN攻擊的能力也不一樣。2、 域名劫持:修改注冊(cè)信息、劫持解析結(jié)果。 域名劫持是互聯(lián)網(wǎng)攻擊的一種方式,通過攻擊域名解析服務(wù)器(DNS),或偽造域名解析服務(wù)器(DNS)的方法,把目標(biāo)網(wǎng)站域名解析到錯(cuò)誤的地址而達(dá)到無法訪問目標(biāo)網(wǎng)站的目的。域名劫持就是在劫持的網(wǎng)絡(luò)范圍內(nèi)攔截域名解析的請(qǐng)求,分析請(qǐng)求的域名,把審查范圍以外的請(qǐng)求放行,否則直接返回假的IP地址或者什么也不做使得請(qǐng)求失去響應(yīng),其效果就是對(duì)特定的網(wǎng)址不能訪問或訪問的是假網(wǎng)址。原理域名解析(DNS)的基本原理是把網(wǎng)絡(luò)地址(域名,以一個(gè)字符串的形式,比如 )對(duì)應(yīng)到真實(shí)的計(jì)算機(jī)能夠識(shí)別的網(wǎng)絡(luò)地址(IP地址,比如9 這樣的形式),以便計(jì)算機(jī)能夠進(jìn)一步通信,傳遞網(wǎng)址和內(nèi)容等。由于域名劫持往往只能在特定的被劫持的網(wǎng)絡(luò)范圍內(nèi)進(jìn)行,所以在此范圍外的域名服務(wù)器(DNS)能夠返回正常的IP地址,高級(jí)用戶可以在網(wǎng)絡(luò)設(shè)置把DNS指向這些正常的域名服務(wù)器以實(shí)現(xiàn)對(duì)網(wǎng)址的正常訪問。所以域名劫持通常相伴的措施封鎖正常DNS的IP。如果知道該域名的真實(shí)IP地址,則可以直接用此IP代替域名后進(jìn)行訪問。比如訪問/ ,可以把訪問改為9/ ,從而繞開域名劫持。缺點(diǎn)它不是很穩(wěn)定,在某些網(wǎng)絡(luò)速度快的地方,真實(shí)的IP地址返回得比竊持軟件提供的假地址要快,因?yàn)楸O(jiān)測(cè)和返回這么巨大的數(shù)據(jù)流量也是要花費(fèi)一定時(shí)間的。在網(wǎng)上查詢域名的正確IP非常容易。WWW服務(wù)及HTTP:HTTP(HyperText Transfer Protocol)是一套計(jì)算機(jī)通過網(wǎng)絡(luò)進(jìn)行通信的規(guī)則,使HTTP客戶(如Web瀏覽器)能夠從HTTP服務(wù)器(Web服務(wù)器)請(qǐng)求信息和服務(wù),HTTP目前協(xié)議的版本是1.1.HTTP是一種無狀態(tài)的協(xié)議,無狀態(tài)是指Web瀏覽器和Web服務(wù)器之間不需要建立持久的連接,這意味著當(dāng)一個(gè)客戶端向服務(wù)器端發(fā)出請(qǐng)求,然后Web服務(wù)器返回響應(yīng)(response),連接就被關(guān)閉了,在服務(wù)器端不保留連接的有關(guān)信息.HTTP遵循請(qǐng)求(Request)/應(yīng)答(Response)模型。Web瀏覽器向Web服務(wù)器發(fā)送請(qǐng)求,Web服務(wù)器處理請(qǐng)求并返回適當(dāng)?shù)膽?yīng)答。所有HTTP連接都被構(gòu)造成一套請(qǐng)求和應(yīng)答。在一次完整的HTTP通信過程中,Web瀏覽器與Web服務(wù)器之間將完成下列7個(gè)步驟:(1) 建立TCP連接在HTTP工作開始之前,Web瀏覽器首先要通過網(wǎng)絡(luò)與Web服務(wù)器建立連接,該連接是通過TCP來完成的,該協(xié)議與IP 協(xié)議共同構(gòu)建Internet,即著名的TCP/IP協(xié)議族,因此Internet又被稱作是TCP/IP網(wǎng)絡(luò)。HTTP是比TCP更高層次的應(yīng)用層協(xié)議,根據(jù)規(guī)則,只有低層協(xié)議建立之后才能,才能進(jìn)行更層協(xié)議的連接,因此,首先要建立TCP連接,一般TCP連接的端口號(hào)是80(2) Web瀏覽器向Web服務(wù)器發(fā)送請(qǐng)求命令一旦建立了TCP連接,Web瀏覽器就會(huì)向Web服務(wù)器發(fā)送請(qǐng)求命令例如:GET/sample/hello.jsp HTTP/1.1(3) Web瀏覽器發(fā)送請(qǐng)求頭信息瀏覽器發(fā)送其請(qǐng)求命令之后,還要以頭信息的形式向Web服務(wù)器發(fā)送一些別的信息,之后瀏覽器發(fā)送了一空白行來通知服務(wù)器,它已經(jīng)結(jié)束了該頭信息的發(fā)送。(4) Web服務(wù)器應(yīng)答客戶機(jī)向服務(wù)器發(fā)出請(qǐng)求后,服務(wù)器會(huì)客戶機(jī)回送應(yīng)答,HTTP/1.1 200 OK應(yīng)答的第一部分是協(xié)議的版本號(hào)和應(yīng)答狀態(tài)碼(5) Web服務(wù)器發(fā)送應(yīng)答頭信息正如客戶端會(huì)隨同請(qǐng)求發(fā)送關(guān)于自身的信息一樣,服務(wù)器也會(huì)隨同應(yīng)答向用戶發(fā)送關(guān)于它自己的數(shù)據(jù)及被請(qǐng)求的文檔。(6) Web服務(wù)器向?yàn)g覽器發(fā)送數(shù)據(jù)Web服務(wù)器向?yàn)g覽器發(fā)送頭信息后,它會(huì)發(fā)送一個(gè)空白行來表示頭信息的發(fā)送到此為結(jié)束,接著,它就以Content-Type應(yīng)答頭信息所描述的格式發(fā)送用戶所請(qǐng)求的實(shí)際數(shù)據(jù)(7) Web服務(wù)器關(guān)閉TCP連接一般情況下,一旦Web服務(wù)器向?yàn)g覽器發(fā)送了請(qǐng)求數(shù)據(jù),它就要關(guān)閉TCP連接,然后如果瀏覽器或者服務(wù)器在其頭信息加入了這行代碼Connection:keep-aliveTCP連接在發(fā)送后將仍然保持打開狀態(tài),于是,瀏覽器可以繼續(xù)通過相同的連接發(fā)送請(qǐng)求。保持連接節(jié)省了為每個(gè)請(qǐng)求建立新連接所需的時(shí)間,還節(jié)約了網(wǎng)絡(luò)帶寬。HTTP請(qǐng)求格式當(dāng)瀏覽器向Web服務(wù)器發(fā)出請(qǐng)求時(shí),它向服務(wù)器傳遞了一個(gè)數(shù)據(jù)塊,也就是請(qǐng)求信息,HTTP請(qǐng)求信息由3部分組成:l 請(qǐng)求方法URI協(xié)議/版本l 請(qǐng)求頭(Request Header)l 請(qǐng)求正文下面是一個(gè)HTTP請(qǐng)求的例子:GET/sample.jsp HTTP/1.1Accept:image/gif.image/jpeg,*/*Accept-Language:zh-cnConnection:Keep-AliveHost:localhostUser-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)Accept-Encoding:gzip,deflate username=jinqiao&password=1234 (1) 請(qǐng)求方法URI協(xié)議/版本請(qǐng)求的第一行是“方法URL議/版本”:GET/sample.jsp HTTP/1.1以上代碼中“GET”代表請(qǐng)求方法,“/sample.jsp”表示URI,“HTTP/1.1代表協(xié)議和協(xié)議的版本。根據(jù)HTTP標(biāo)準(zhǔn),HTTP請(qǐng)求可以使用多種請(qǐng)求方法。例如:HTTP1.1支持7種請(qǐng)求方法:GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE。在Internet應(yīng)用中,最常用的方法是GET和POST。URL完整地指定了要訪問的網(wǎng)絡(luò)資源,通常只要給出相對(duì)于服務(wù)器的根目錄的相對(duì)目錄即可,因此總是以“/”開頭,最后,協(xié)議版本聲明了通信過程中使用HTTP的版本。(2)請(qǐng)求頭(Request Header)請(qǐng)求頭包含許多有關(guān)的客戶端環(huán)境和請(qǐng)求正文的有用信息。例如,請(qǐng)求頭可以聲明瀏覽器所用的語言,請(qǐng)求正文的長度等。Accept:image/gif.image/jpeg.*/*Accept-Language:zh-cnConnection:Keep-AliveHost:localhostUser-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0)Accept-Encoding:gzip,deflate.(3)請(qǐng)求正文請(qǐng)求頭和請(qǐng)求正文之間是一個(gè)空行,這個(gè)行非常重要,它表示請(qǐng)求頭已經(jīng)結(jié)束,接下來的是請(qǐng)求正文。請(qǐng)求正文中可以包含客戶提交的查詢字符串信息:username=jinqiao&password=1234在以上的例子的HTTP請(qǐng)求中,請(qǐng)求的正文只有一行內(nèi)容。當(dāng)然,在實(shí)際應(yīng)用中,HTTP請(qǐng)求正文可以包含更多的內(nèi)容。GET方法與POST方法l GET方法GET方法是默認(rèn)的HTTP請(qǐng)求方法,我們?nèi)粘S肎ET方法來提交表單數(shù)據(jù),然而用GET方法提交的表單數(shù)據(jù)只經(jīng)過了簡(jiǎn)單的編碼,同時(shí)它將作為URL的一部分向Web服務(wù)器發(fā)送,因此,如果使用GET方法來提交表單數(shù)據(jù)就存在著安全隱患上。例如Http://login.jsp?Name=zhangshi&Age=30&Submit=%cc%E+%BD%BB從上面的URL請(qǐng)求中,很容易就可以辯認(rèn)出表單提交的內(nèi)容。(?之后的內(nèi)容)另外由于GET方法提交的數(shù)據(jù)是作為URL請(qǐng)求的一部分所以提交的數(shù)據(jù)量不能太大l POST方法POST方法是GET方法的一個(gè)替代方法,它主要是向Web服務(wù)器提交表單數(shù)據(jù),尤其是大批量的數(shù)據(jù)。POST方法克服了GET方法的 一些缺點(diǎn)。通過POST方法提交表單數(shù)據(jù)時(shí),數(shù)據(jù)不是作為URL請(qǐng)求的一部分而是作為標(biāo)準(zhǔn)數(shù)據(jù)傳送給Web服務(wù)器,這就克服了GET方法中的信息無法保密 和數(shù)據(jù)量太小的缺點(diǎn)。因此,出于安全的考慮以及對(duì)用戶隱私的尊重,通常表單提交時(shí)采用POST方法。HTTP應(yīng)答與HTTP請(qǐng)求相似,HTTP響應(yīng)也由3個(gè)部分構(gòu)成,分別是:l 協(xié)議狀態(tài)版本代碼描述l 響應(yīng)頭(Response Header)l 響應(yīng)正文下面是一個(gè)HTTP響應(yīng)的例子:HTTP/1.1 200 OKServer:Apache Tomcat/5.0.12Date:Mon,6Oct2003 13:23:42 GMTContent-Length:112 HTTP響應(yīng)示例Hello HTTP!協(xié)議狀態(tài)代碼描述HTTP響應(yīng)的第一行(HTTP/1.1 200 OK)類似于HTTP請(qǐng)求的第一行,它表示通信所用的協(xié)議是HTTP1.1服務(wù)器已經(jīng)成功的處理了客戶端發(fā)出的請(qǐng)求(200表示成功).響應(yīng)頭(Response Header)響應(yīng)頭也和請(qǐng)求頭一樣包含許多有用的信息,例如服務(wù)器類型、日期時(shí)間、內(nèi)容類型和長度等:Server:Apache Tomcat/5.0.12Date:Mon,6Oct2003 13:13:33 GMTContent-Type:text/htmlLast-Moified:Mon,6 Oct 2003 13:23:42 GMTContent-Length:112響應(yīng)正文響應(yīng)正文就是服務(wù)器返回的HTML頁面:HTTP響應(yīng)示例Hello HTTP!響應(yīng)頭和正文之間也必須用空行分隔。l HTTP應(yīng)答碼HTTP應(yīng)答碼也稱為狀態(tài)碼,它反映了Web服務(wù)器處理HTTP請(qǐng)求狀態(tài)。HTTP應(yīng)答碼由3位數(shù)字構(gòu)成,其中首位數(shù)字定義了應(yīng)答碼的類型:1XX信息類(Information),表示收到Web瀏覽器請(qǐng)求,正在進(jìn)一步的處理中2XX成功類(Successful),表示用戶請(qǐng)求被正確接收,理解和處理例如:200 OK3XX-重定向類(Redirection),表示請(qǐng)求沒有成功,客戶必須采取進(jìn)一步的動(dòng)作。4XX-客戶端錯(cuò)誤(Client Error),表示客戶端提交的請(qǐng)求有錯(cuò)誤 例如:404 NOT Found,意味著請(qǐng)求中所引用的文檔不存在。5XX-服務(wù)器錯(cuò)誤(Server Error)表示服務(wù)器不能完成對(duì)請(qǐng)求的處理:如 500對(duì)于我們Web開發(fā)人員來說掌握HTTP應(yīng)答碼有助于提高Web應(yīng)用程序調(diào)試的效率和準(zhǔn)確性。雖然HTTP是一種很靈活的協(xié)議,但它并不安全。POST消息以純文本格式向服務(wù)器上傳信息,該信息可能被其他程序中途截取、閱讀。與之相同的是,服務(wù)器的響應(yīng)(尤其是HTML頁面)也不加密。為了在Internet中進(jìn)行安全通信,人們使用安全超文本傳輸(HTTPS)協(xié)議來訪問或發(fā)布Web服務(wù)器信息。HTTPS可以采用身份驗(yàn)證和加密(encryption)兩種方式保障客戶端和服務(wù)器間的數(shù)據(jù)傳輸安全。HTTPS中還指定了應(yīng)用層和傳輸層之間數(shù)據(jù)通信的附加規(guī)則。HTTPSHTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標(biāo)的HTTP通道,簡(jiǎn)單講是HTTP的安全版。即HTTP向下下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。HTTPS和HTTP的區(qū)別一、https協(xié)議需要到ca申請(qǐng)證書,一般免費(fèi)證書很少,需要交費(fèi)。(CA,電子商務(wù)認(rèn)證授權(quán)機(jī)構(gòu)(Certificate Authority),也稱為電子商務(wù)認(rèn)證中心,是負(fù)責(zé)發(fā)放和管理數(shù)字證書的權(quán)威機(jī)構(gòu),并作為電子商務(wù)交易中受信任的第三方,承擔(dān)公鑰體系中公鑰的合法性檢驗(yàn)的責(zé)任。) 二、http是超文本傳輸協(xié)議,信息是明文傳輸,https 則是具有安全性的ssl加密傳輸協(xié)議。 三、http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。 四、http的連接很簡(jiǎn)單,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全。SSL安全套接層協(xié)議(Secure Socket Layer) 用以保障在Internet上數(shù)據(jù)傳輸之安全,利用數(shù)據(jù)加密(Encryption)技術(shù),可確保數(shù)據(jù)在網(wǎng)絡(luò)上之傳輸過程中不會(huì)被截取及竊聽。SSL協(xié)議位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,是一種國際標(biāo)準(zhǔn)的加密及身份認(rèn)證通信協(xié)議,為TCP提供一個(gè)可靠的端到端的安全服務(wù),為兩個(gè)通訊個(gè)體之間提供保密性和完整性(身份鑒別)。SSL協(xié)議可分為兩層:SSL記錄協(xié)議(SSL Record Protocol):它建立在可靠的傳輸協(xié)議(如TCP)之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。SSL握手協(xié)議(SSL Handshake Protocol):它建立在SSL記錄協(xié)議之上,用于在實(shí)際的數(shù)據(jù)傳輸開始前,通訊雙方進(jìn)行身份認(rèn)證、協(xié)商加密算法、交換加密密鑰等。 SSL協(xié)議特點(diǎn)1)SSL協(xié)議可用于保護(hù)正常運(yùn)行于TCP之上的任何應(yīng)用協(xié)議,如HTTP、FTP、S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年經(jīng)理助理工作計(jì)劃
- 腸胃科護(hù)理工作總結(jié)
- 交通運(yùn)輸行業(yè)人才引進(jìn)措施
- 2025幼兒園后勤管理工作計(jì)劃參考范文
- 二年級(jí)班主任工作總結(jié)
- 如何激勵(lì)員工的有效策略計(jì)劃
- 產(chǎn)科護(hù)士工作總結(jié)
- 文體休閑行業(yè)保安工作總結(jié)
- Unit 3 Family ties Developing ideas Listening and Speaking 第二課時(shí)說課稿2024-2025學(xué)年外研版(2024)七年級(jí)英語上冊(cè)
- Unit 2 Were Family Section B(1a~1d)說課稿 2024-2025學(xué)年人教版英語七年級(jí)上冊(cè)
- 銷售總監(jiān)年度總結(jié)規(guī)劃
- 生物安全柜的使用及維護(hù)培訓(xùn)
- 《NOIP圖的基礎(chǔ)算法》課件
- 《建筑工程QC課題》課件
- 病歷質(zhì)控流程
- 政府采購評(píng)審專家考試試題庫(完整版)
- 合作投資酒店意向合同范例
- 安全教育教案大班40篇
- 叉車工安全培訓(xùn)資料
- 九年級(jí)英語教學(xué)反思
- 外研新標(biāo)準(zhǔn)初中英語七年級(jí)上冊(cè)冊(cè)寒假提升補(bǔ)全對(duì)話短文練習(xí)三附答案解析
評(píng)論
0/150
提交評(píng)論