tcp/ip

11
1 TCP/IP HTTP 指導老師: 戴至禮 學員:張建元 學號: 31000145

Upload: chang-chien-yuan

Post on 30-Mar-2016

220 views

Category:

Documents


8 download

DESCRIPTION

tcp3100145

TRANSCRIPT

Page 1: tcp/ip

頁 1

TCP/IP HTTP

指導老師: 戴至禮

學員:張建元

學號: 31000145

Page 2: tcp/ip

頁 2

目錄:

1.HTTP 概述介紹:

2.URL(Uniform Resource Locator, URL):

3. Cookie:

4. HTTP 及 OSI 七層模型示例:

5. 實驗環境

6. TCP Three-way Handshaking

7. 建立連線之後 HTTP 後續封包情況.實驗一

8. 實驗二: 連線至 https://www.dropbox.com/ 加密

9. 結論

10. 參考資料

Page 3: tcp/ip

頁 3

一. HTTP 概述介紹:

超文字傳輸通訊協定(Hypertxt Transfer Protocol, HTTP),

主要是用在全球資訊網(WWW)內存取資料,HTTP 的

發展是全球資訊網協會和網際網路工程任務組織

(Internet Engineering Task Force ,IETF)合作的結果,

他們定義了 HTTP 協議中目前被廣泛使用的版

本—HTTP 1.1。HTTP 是一個用戶端和伺服器端請求

和應答的標準。用戶端是終端使用者,伺服器端是網

站。透過使用 Web 瀏覽器、或其它的工具,用戶端發

出 HTTP 協定請求,到伺服器上指定埠(預設埠為 80)。

伺服器端負責接聽由用戶端來的訊息請求並回應。

二. URL(Uniform Resource Locator, URL):

當用戶端想要存取伺服器網頁時,需要網頁位址,為

了支援存取網際網路裡各種文件,於是使用全球資源

定位(URL),就像現實生活中家中地址。URL 的語法

表示網際網路的位址。URL 的表示方式定義了 4 件內

容如(下圖一所示)

Page 4: tcp/ip

頁 4

圖一:

三.Cookie:

Cookies:當伺服器端從用戶端收到一個要求時,它將

有關此用戶端的資訊儲存在檔案或字串中,伺服器在

將 Cookie 放入要回應給用戶端的訊息中。當用戶端收

到回應後,瀏覽器將 Cookie 存到 Cookie 的目錄裡如(圖

二)。最典型的應用是判定註冊使用者是否已經登入網

站,使用者可能會得到提示,是否在下一次進入此網

站時保留使用者資訊以便簡化登入手續。

圖二

.

四.HTTP 及 OSI 七層模型示例:

Page 5: tcp/ip

頁 5

由下圖三所示,我們可以很清楚的看到 HTTP 是透過

TCP 來建立連線(圖三)

五.實驗環境

客戶端:IP:192.168.11.31/24

MAC Address: 6C-F0-49-E3-0E-E1

實驗一.連線至 http://www.google.com.tw/

實驗二.連線至 https://www.dropbox.com/

六.TCP Three-way Handshaking(如圖四)

Page 6: tcp/ip

頁 6

由於 HTTP 在傳輸層是透過 TCP 傳輸,於是會有

Three-way Handshaking 的情況出現。在 TCP 中的連線

建立動作稱為 Three-way Handshaking,建立過程 1.用戶

端送出第 1 個區段稱為 SYN 區段(不帶任何資料)2.當

伺服器端收到後會送出第 2 個區段稱為 SYN+ACK 區

段 此區段有 2 個目的就是用來回應客戶端及用來伺

服器對客戶端的資料進行編號 3.當用戶端收到後由伺

服器端傳來的區段後會回送一個 ACK 區段給伺服器

端,來建立連線或是斷線。

以下是封包解析:

區段一

如圖可以看到 使用的同步序號是 SYN、協定是 HTTP、

目的 PORT 是 80 、SYN 區段 0、來源 IP 由客戶端

Page 7: tcp/ip

頁 7

192.168.11.30 到 GOOGLE IP 64.233.183.104

區段二

使用的同步序號是 SYN+ACK、協定是 HTTP、目的

PORT 是 52510(客戶端) 、SYN 區段編號 0、ACK 區段

編號 1、來源 GOOGLE IP 64.233.183.104 回傳到客戶端

192.168.11.30

區段三

使用的乙太網路代號 4、同步序號是 ACK、協定是

HTTP、目的 PORT 是 80 、ACK 區段 1、來源 IP 由客

Page 8: tcp/ip

頁 8

戶端 192.168.11.30 回傳到 GOOGLE IP 64.233.183.104

七.建立連線之後 HTTP 後續封包情況: 實驗一

1 首先客戶端向伺服器端要求一份文件:GET

可以從圖看出採用 HTTP-1.1。

並且連線主機是 GOOGLE。

2.伺服器端給予客戶端回應的狀態代碼:以本例中是

302 及 200。

302:要求的 URL 暫時被移走可能是還在搜尋的情況下

發生。

200:要求成功, 伺服器回應客戶端。

Page 9: tcp/ip

頁 9

八.實驗二: 連線至 https://www.dropbox.com/ 加密

本實驗是採用 TLS 加密方式,DROPBOX 是網路上私人

空間,對於資料全程採用 TLS 加密傳輸、使用者帳密採

用 SSL 傳送加密方式驗證。

當使用者登入時會發出 Client Hello 到伺服器端

以下為先 PING DropBox 畫面

以下為封包解析

交握第一階段 Client Hello

Page 10: tcp/ip

頁 10

圖中可以看出客戶端連線至伺服器端使用 443 加密

HTTPS PORT必且帳號密碼經過加密採用RANDOM雜

湊以及使用 SSL 加密方式,由客戶端發出一個 CLIENT

HELLO 訊息給伺服器端。

交握第二階段以及第三階段:Server Hello Server Done

伺服器端收到客戶端傳來之後進行驗證並且給予回應

交握的第四階段:金鑰傳送交換

Page 11: tcp/ip

頁 11

由客戶端傳送至伺服器端

並且內容經過加密,必須經過解密才能看到

九.結論

從實驗看出,傳輸協定的不同,傳輸方式也不同,沒有

保證一定安全的網路環境,只要有心人士一樣可以破

解、但是經過加密等於是多一道保護、避免資料輕易

的被竊取。

十.參考資料

TCP/IP 通訊協定:第 3 板 Behrouz A. Forouzan

Sophia Chung Fegan

WIKI 百科: http://zh.wikipedia.org/zh-tw/HTTP

TCP/IP 講義