網安入門(一)之TCP/IP體系結構與HTTP傳輸協議
網安入門(一)
一. TCP/IP結構體系
1.1基本結構
1.2 IP
- 定義:ip地址是計算機在網路上的標識,用來在網際網路中尋找計算機。
- url與ip的關係:url輸入後經瀏覽器向dns伺服器查詢對應的ip地址。
- 內網ip與公網ip
- 內網ip:路由以內的網路,可以連線網際網路(需要埠對映),但是網際網路無法直接連線內網。
- 公網ip:即網際網路ip.
- 內網產生原因:內網隔絕相對安全,ipv4域名耗盡
- 如何判斷自己的ip是內網還是公網(目前多為內網ip): 1.在本機的命令列視窗中輸入ipconfig查詢本機ip 2.百度直接搜尋ip 3.若兩者顯示的ip地址相同則為公網ip。
- 兩者關係:公網ip類似小區地址,內網ip類似門牌號.
1.3埠
- 定義:應用程式(服務)在計算機中的唯一標識。
- 埠與ip的關係
二. HTTP協議
2.1什麼是HTTP協議?
- 傳輸協議:傳輸協議定義了瀏覽器與客戶端傳輸資料的格式。
-
HTTP
協議(超文字傳輸協議HyperText Transfer Protocol),它是基於TCP協議的應用層傳輸協議,簡單來說就是客戶端和服務端進行資料傳輸的一種規則。 - 特點:
- 基於tcp/ip協議
- 預設埠號為80
- 請求和響應一一對應
- 每次請求相互獨立,是無狀態協議。
2.2HTTP協議的請求與響應
2.2.1請求
請求的基本結構
GET http://www.foo.com/ HTTP/1.1
Host: www.foo.com
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.3 Safari/535.19
Referer: http://www.baidu.com/
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Cookie: SESSIONID=58AB420B1D8B800526ACCCAA83A827A3:FG=1
- 請求方式:常用的有GET與POST。
- host:表面請求的主機。
- user-Agent:表明身份(我是誰)。從這裡可以看到作業系統、瀏覽器、 瀏覽器核心及對應的版本號等資訊。用於對於區分不同裝置或瀏覽器以顯示不同內容。
- Referer :表明從哪裡來,比如從 http://www.baidu.com/頁面點選過來。
- Acceot-Encoding,Accept-Language,Accept-Charset,分別表示接受的編碼方式,可識別的語言,可識別的字符集。
- cookie: cookie介紹及使用_菜雞的全棧路的部落格-CSDN部落格
Get與post的區別(一下的wk=111為請求引數)
get
post
總結區別:
-
- get的請求引數在url地址中(eg:百度搜索),url的長度有限制,用於字元型,僅一次tcp連線
- post請求引數在請求體中,必須有Content-Type屬性,無大小限制,位元組型(字元,音樂,圖片,視訊等等),瀏覽器不同,傳送的tcp連線次數不同。
2.2.2響應
響應的結構
HTTP/1.1 200 OK
Date: Sun, 04 Mar 2012 22:48:31 GMT
Server: Apache/2.2.8 (Win32) PHP/5.2.6
Set-Cookie: PTOKEN=;expires=Mon, 01 Jan 1970 00:00:00 GMT;path=/; domain=.foo.com; HttpOnly
Set-Cookie: USERID=c7888882e039b32fd7b4d3; expires=Tue, 01 Jan 2030 00:00:00 GMT; path=/; domain=.foo.com
X-Powered-By: PHP/5.2.6
Content-Length: 3635
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html;charset=gbk
響應體就是伺服器返回的內容(網頁,圖片,音樂,視訊)。
響應狀態碼