企業(yè)站網(wǎng)站建設(shè)優(yōu)化設(shè)計(jì)答案六年級(jí)上冊(cè)語(yǔ)文
接上篇
八、抓包與網(wǎng)絡(luò)協(xié)議
8.1 抓包工具怎么用
我原來(lái)的公司對(duì)于抓包這塊,在 App 的測(cè)試用得比較多。我們會(huì)使用 fiddler 抓取數(shù)據(jù)檢查結(jié)果,定
位問(wèn)題,測(cè)試安全,制造弱網(wǎng)環(huán)境;
如:抓取數(shù)據(jù)通過(guò)查看請(qǐng)求數(shù)據(jù),請(qǐng)求行,請(qǐng)求報(bào)頭,請(qǐng)求正文,信息是否正確去檢查結(jié)果,
如果是以 4 開頭的話就有可能是前端問(wèn)題一般我會(huì)到前端排查,以 5 開頭就有可能是后端
問(wèn)題我就會(huì)到后端排查;如果是 200 的話,就需要檢查請(qǐng)求行,請(qǐng)求報(bào)頭,請(qǐng)求正文是否正確,
如果請(qǐng)求錯(cuò)誤就是前端問(wèn)題,如果請(qǐng)求沒有問(wèn)題,那就是后端問(wèn)題,看后端問(wèn)題服務(wù)器運(yùn)行日志,
是否包含 exception,error 或根據(jù)時(shí)間點(diǎn)去看日志。
測(cè)試安全,抓取數(shù)據(jù)查看用戶的感敏信息有沒有進(jìn)行加密顯示,還有就是把發(fā)送請(qǐng)求的數(shù)據(jù)篡改是否
成功。
弱網(wǎng)環(huán)境,誦過(guò) fiddler 工具選擇 Customize Ruels...(Ctr+R)調(diào)出定義腳本編輯器找到
“if (m_SimulateModem)”設(shè)置上行下行網(wǎng)速,然后把
Rules-> Performance-> Simulate Modem Speeds 選中生效
常用抓包工具有:瀏覽器中 F12, fiddler, Charles(青花瓷), wireshark
8.2 如何抓取 https 的包
1、設(shè)置 Tools=> Option=>勾選 Decrypt Https traffic=>勾選 lgnore server
certificate errors(unsafe)
2、打開 https 網(wǎng)頁(yè)就可以成功抓取了
3、還可以 Fiddler 添加過(guò)濾器(Filters):只抓取指定 iP 的數(shù)據(jù)
8.3 如何抓取手機(jī)的包
1、開啟 Fiddler 的遠(yuǎn)程連接
Fiddler 主菜單 Toos- Options-> Connections>勾選 Allow remote computers to
2、重啟 Fiddler,更新剛開啟的遠(yuǎn)程配置
3、然后手機(jī)和電腦需要在同一個(gè)局域網(wǎng),抓取 http 手機(jī)設(shè)置代理就可以,要抓取 https 包,手機(jī)需
要安裝一個(gè) fiddler 證書
1、fder 工具生成一個(gè)證書,發(fā)送手機(jī)上面安裝
2、通過(guò)手機(jī)瀏覽器打開安裝證書界面 192.168.3.197:8888
ip 地址是用 fiddler 工具的電腦的 ip 地址,fiddler 工具端口號(hào)的 8888
點(diǎn)擊下載證書,會(huì)提示,輸入手機(jī)鎖屏密碼
4、給證書命名,名字隨意,其他默認(rèn)就 ok
5、點(diǎn)擊確定,安裝成功,然后就可以抓取 https 的包了
8.4 網(wǎng)絡(luò)協(xié)議了解多少?
原來(lái)我們用得比較多的協(xié)議是 http 和 https 以及 tcp 協(xié)議
http 和 https 都是超文本協(xié)議,瀏覽器發(fā)送數(shù)據(jù)請(qǐng)求基本用的都是他們,不同的是 https
在 http 的基礎(chǔ)上增加了 ssl 加密協(xié)議,http 的默認(rèn)端口是 80,http:的默認(rèn)端口是 443,
https 收費(fèi),http 免費(fèi)。
tcp 協(xié)議的話,作用在傳輸層,在發(fā)送請(qǐng)求前會(huì)有三次握手,是面向連接的協(xié)議,傳輸過(guò)程比較可靠
udp 協(xié)議的話,作用在傳輸層,面向非連接協(xié)議,傳輸過(guò)程相對(duì) tcp 不可靠,傳輸大量數(shù)據(jù)
8.5 請(qǐng)求方式有哪些?
常用:get、post
不常用:delete、put、head、option
8.6 get 跟 post 請(qǐng)求的區(qū)別
1)get 請(qǐng)求的參數(shù)有長(zhǎng)度限制,post 沒有
2)get 請(qǐng)求參數(shù)在 url 上傳輸,post 的參數(shù)在請(qǐng)求正文中傳輸。post 比 get 傳輸更安全
3)get 只能接收 ascall 碼參數(shù),而 post 沒有限制
4)get 請(qǐng)求的時(shí)候,只請(qǐng)求一次,而 post 請(qǐng)求兩次,第一發(fā)送請(qǐng)求頭相關(guān)信息,第二次
再發(fā)送請(qǐng)求正文,(只有部分瀏覽器 2 次請(qǐng)求)
8.7 http 跟 https 的區(qū)別
1.https 協(xié)議需要到 ca 申請(qǐng)證書,一般免費(fèi)證書較少,因而需要一定費(fèi)用
2.http 是超文本傳輸協(xié)議,信息是明文傳輸 https 則是具有安全性的 ssl 加密傳輸協(xié)議
3.http 和 https 使用的是完全不同的連接方式,用的端口也不一樣,前者是 80,后者是 443
4.http 的連接很簡(jiǎn)單,是無(wú)狀態(tài)的;Https 協(xié)議是由 SSL + HTTP 協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)
證的網(wǎng)絡(luò)協(xié)議,比 http 協(xié)議安全。
8.8 為什么要使用 cookie 和 session:http 是無(wú)狀態(tài)協(xié)議
第一次登錄,發(fā)送用戶信息給到服務(wù)器,服務(wù)器把用戶信息保存在 session 中服務(wù)器響應(yīng)數(shù)據(jù)給客戶
端,響應(yīng)數(shù)據(jù)中有包含 session 的先關(guān)用戶信息
客戶端接收到服務(wù)器 session 信息,把 session 中相關(guān)的用戶信息保存在 cookie 中
第二次登錄,客戶端發(fā)送請(qǐng)求,并攜帶 cookie,服務(wù)端可以直接驗(yàn)證 cookie 值,如果用戶已經(jīng)登錄
過(guò),可以免登錄
8.9 cookie 跟 session 的區(qū)別
在網(wǎng)站中 http 請(qǐng)求是無(wú)狀態(tài)的,也就是說(shuō)即使第一次和服務(wù)器連接后并且登錄成功后,
第二次請(qǐng)求服務(wù)器依然不能知道當(dāng)前請(qǐng)求是哪個(gè)用戶,cookie 的出現(xiàn)就是為了解決這個(gè)問(wèn)題,
第一次登錄后服務(wù)器返回一些數(shù)據(jù)(cookie)給瀏覽器,然后瀏覽器保存在本地,當(dāng)該用戶發(fā)送第二次
請(qǐng)求的時(shí)候,就會(huì)自動(dòng)的把上次請(qǐng)求存儲(chǔ)的 cookie 數(shù)據(jù)自動(dòng)的攜帶給服務(wù)器,服務(wù)器通過(guò)瀏覽器攜
帶的數(shù)據(jù)就能判斷當(dāng)前用戶是哪個(gè)了。cookie 存儲(chǔ)的數(shù)據(jù)量有限,不同的瀏覽器有不同的存儲(chǔ)大小,
但一般不超過(guò) 4KB,因此使用 cookie 只能存儲(chǔ)一些小量的數(shù)據(jù)。
session 和 cookie 的作用有點(diǎn)類似,都是為了存儲(chǔ)用戶相關(guān)的信息,不同的是,cookie 是存儲(chǔ)在本
地瀏覽器,而 session 存儲(chǔ)在服務(wù)器.存儲(chǔ)在服務(wù)器的數(shù)據(jù)會(huì)更加的安全,不容易被竊取。但存儲(chǔ)在
服務(wù)器也有一定的弊端,就是會(huì)占用服務(wù)器的資源,但現(xiàn)在服務(wù)器已經(jīng)發(fā)展至今,一些 session 信息
還是綽綽有余的
8.10 OSI 七層網(wǎng)絡(luò)模型
(1)參考模型:只是提供給生產(chǎn)商或者軟件開發(fā)商參考的模型
(2)開發(fā)系統(tǒng)互聯(lián)

(3)有七層
8.11 TCP 模型
有四層:
應(yīng)用層 (telnet.stp.htp),傳輸層( CP UDP)、網(wǎng)絡(luò)層,中數(shù)據(jù)鏈路層
8.12 TCP 和 UDP 的區(qū)別?
(1)TCP 面向連接、而 UDP 面向非連接
(2)TCP 相對(duì) UDP 更可靠
(3)TCP 應(yīng)用場(chǎng)景,用于傳輸少量數(shù)據(jù),而 UDP 用于傳輸大量數(shù)據(jù)
(4)TCP 傳輸?shù)臄?shù)據(jù)相對(duì) UDP 慢
8.13 tcp 的三次握手是怎么實(shí)現(xiàn)的?
(1)客戶端給服務(wù)器發(fā)送報(bào)文 syn=1 和序列號(hào) Seq=x
(2)服務(wù)器接收到客戶端的請(qǐng)求,服務(wù)器響應(yīng) syn=1,ack=x+1,seq=y
(3)客戶端接收到服務(wù)器的響應(yīng),返回給服務(wù)器,ack=y+1,seq=z
8.14 http 協(xié)議包含哪些內(nèi)容
(1)請(qǐng)求信息
1)請(qǐng)求行:請(qǐng)求方式、請(qǐng)求地址 http 版本 1.1
2)請(qǐng)求頭
HTTP 消息報(bào)頭包括普通報(bào)頭、請(qǐng)求報(bào)頭、響應(yīng)報(bào)頭、實(shí)體報(bào)頭
Cache- Control:no- cache 緩存
Connection:close/keep-aive 是否關(guān)閉或者保持連接
Accept-Charset:ios-859-1 字符集
Accept-Encoding:gzip.deflate 編碼格式
Accept-Language:zh-cn 語(yǔ)言
Authorization:服務(wù)器授權(quán)驗(yàn)證
Host:主機(jī)
User-Agent:
Location:重定向
Server:服務(wù)器版本信息
Content-Encoding:實(shí)體報(bào)頭的編碼格式
請(qǐng)求正文
data
(2)響應(yīng)信息
1)狀態(tài)行:http 版本、狀態(tài)碼、狀態(tài)信息
2)響應(yīng)頭:跟請(qǐng)求頭一樣
響應(yīng)正文
8.15 http 狀態(tài)碼有哪些
1xx 需要繼續(xù)發(fā)送請(qǐng)求
2xx 成功
3xx 需要重定向
4xx 客戶端請(qǐng)求數(shù)據(jù)有誤
5xx 服務(wù)器響應(yīng)錯(cuò)誤
6xx 服務(wù)器響應(yīng)錯(cuò)誤
常見狀態(tài)碼:400、404、200、500、302、501、504
101 服務(wù)器根據(jù)客戶端的請(qǐng)求切換協(xié)議,只能切換到更高級(jí)的協(xié)議,
例如,切換到 HTTP 的新版本協(xié)議
102(代表處理將被繼續(xù)執(zhí)行)由 WebDAV(RFC 2518)擴(kuò)展的狀態(tài)碼,代表處理將被繼續(xù)執(zhí)行
2 開頭這一類型的狀態(tài)碼,代表請(qǐng)求已成功被服務(wù)器接收、理解、并接受。
200(成功)服務(wù)器已成功處理了請(qǐng)求,通常,這表示服務(wù)器提供了請(qǐng)求的網(wǎng)頁(yè)
201(已創(chuàng)建)請(qǐng)求成功并且服務(wù)器創(chuàng)建了新的資源
202(已接受)服務(wù)器已接受請(qǐng)求,但尚未處理
203(非授權(quán)信息)服務(wù)器已成功處理了請(qǐng)求,但返回的信息可能來(lái)自另一來(lái)源
204(無(wú)內(nèi)容)服務(wù)器成功處理了請(qǐng)求,但沒有返回任何內(nèi)容
205(重置內(nèi)容)服務(wù)器成功處理了請(qǐng)求,但沒有返回任何內(nèi)容
206(部分內(nèi)容)服務(wù)器成功處理了部分 GET 請(qǐng)求
207(代表之后的消息體將是一個(gè) XML 消息),并且可能依照之前子請(qǐng)求數(shù)量的不同,包含
系列獨(dú)立的響應(yīng)代碼
3 開頭(請(qǐng)求被重定向)表示要完成請(qǐng)求,需要進(jìn)一步操作。通常,這些狀態(tài)代碼用來(lái)重定向。
300(多種選擇)針對(duì)請(qǐng)求,服務(wù)器可執(zhí)行多種操作。服務(wù)器可根據(jù)請(qǐng)求者(user agent)選擇一項(xiàng)操作,
或提供操作列表供請(qǐng)求者選擇。
301(永久移動(dòng))請(qǐng)求的網(wǎng)頁(yè)已永久移動(dòng)到新位置.服務(wù)器返回此響應(yīng)(對(duì) GET 或 HEAD 請(qǐng)求的響應(yīng))時(shí),
會(huì)自動(dòng)將請(qǐng)求者轉(zhuǎn)到新位置
302(臨時(shí)移動(dòng))服務(wù)器目前從不同位置的網(wǎng)頁(yè)響應(yīng)請(qǐng)求,
但請(qǐng)求者應(yīng)繼續(xù)使用原有位置來(lái)進(jìn)行以后的請(qǐng)求
303(查看其他位置)請(qǐng)求者應(yīng)當(dāng)對(duì)不同的位置使用單獨(dú)的 GET 請(qǐng)求來(lái)檢索響應(yīng)時(shí),服務(wù)器返回此代碼。
304(未修改)自從上次請(qǐng)求后,請(qǐng)求的網(wǎng)頁(yè)未修改過(guò)。服務(wù)器返回此響應(yīng)時(shí),不會(huì)返回網(wǎng)頁(yè)內(nèi)容
305(使用代理)請(qǐng)求者只能使用代理訪問(wèn)請(qǐng)求的網(wǎng)頁(yè)。如果服務(wù)器返回此響應(yīng),
還表示請(qǐng)求者應(yīng)使用代理。
307(臨時(shí)重定向)服務(wù)器目前從不同位置的網(wǎng)頁(yè)響應(yīng)請(qǐng)求,但請(qǐng)求者應(yīng)繼續(xù)使用原有位置來(lái)進(jìn)行以后
的請(qǐng)求
4 開頭(請(qǐng)求錯(cuò)誤)這些狀態(tài)代碼表示請(qǐng)求可能出錯(cuò),妨礙了服務(wù)器的處理。
400(錯(cuò)誤請(qǐng)求)服務(wù)器不理解請(qǐng)求的語(yǔ)法
401(未授權(quán))請(qǐng)求要求身份驗(yàn)證,對(duì)于需要登錄的網(wǎng)頁(yè),服務(wù)器可能返回此響應(yīng)
403(禁止)服務(wù)器拒絕請(qǐng)求
404(未找到)服務(wù)器找不到請(qǐng)求的網(wǎng)頁(yè)
405(方法禁用)禁用請(qǐng)求中指定的方法
406(不接受)無(wú)法使用請(qǐng)求的內(nèi)容特性響應(yīng)請(qǐng)求的網(wǎng)頁(yè)
407(需要代理授權(quán))此狀態(tài)代碼與 401(未授權(quán))類似,但指定請(qǐng)求者應(yīng)當(dāng)授權(quán)使用代理
408(請(qǐng)求超時(shí))服務(wù)器等候請(qǐng)求時(shí)發(fā)生超時(shí)
409(沖突)服務(wù)器在完成請(qǐng)求時(shí)發(fā)生沖突。服務(wù)器必須在響應(yīng)中包含有關(guān)沖突的信息
410(已刪除)如果請(qǐng)求的資源已永久刪除,服務(wù)器就會(huì)返回此響應(yīng)。
411(需要有效長(zhǎng)度)服務(wù)器不接受不含有效內(nèi)容長(zhǎng)度標(biāo)頭字段的請(qǐng)求
412(未滿足前提條件)服務(wù)器未滿足請(qǐng)求者在請(qǐng)求中設(shè)置的其中一個(gè)前提條件
413(請(qǐng)求實(shí)體過(guò)大)服務(wù)器無(wú)法處理請(qǐng)求,因?yàn)檎?qǐng)求實(shí)體過(guò)大,超出服務(wù)器的處理能力
414(請(qǐng)求的 URL 過(guò)長(zhǎng))請(qǐng)求的 URL(通常為網(wǎng)址)過(guò)長(zhǎng),服務(wù)器無(wú)法處理
415(不支持的媒體類型)請(qǐng)求的格式不受請(qǐng)求頁(yè)面的支持
416(請(qǐng)求范圍不符合要求)如果頁(yè)面無(wú)法提供請(qǐng)求的范圍,則服務(wù)器會(huì)返回此狀態(tài)代碼
417(未滿足期望值)服務(wù)器未滿足期望請(qǐng)求標(biāo)頭字段的要求
5 開頭(服務(wù)器錯(cuò)誤)這些狀態(tài)代碼表示服務(wù)器在嘗試處理請(qǐng)求時(shí)發(fā)生內(nèi)部錯(cuò)誤
這些錯(cuò)誤可能是服務(wù)器本身的錯(cuò)誤,而不是請(qǐng)求出錯(cuò)
500(服務(wù)器內(nèi)部錯(cuò)誤)服務(wù)器遇到錯(cuò)誤,無(wú)法完成請(qǐng)求
501(尚未實(shí)施)服務(wù)器不具備完成請(qǐng)求的功能,例如,服務(wù)器無(wú)法識(shí)別請(qǐng)求方法時(shí)可能會(huì)返回此代碼。
502(錯(cuò)誤網(wǎng)關(guān))服務(wù)器作為網(wǎng)關(guān)或代理,從上游服務(wù)器收到無(wú)效響應(yīng),(比如:nginx 里
設(shè)置了反向代理,自己代理給自己,形成了死循環(huán),造成大量的訪問(wèn)日志,每秒上萬(wàn))
503(服務(wù)不可用)服務(wù)器目前無(wú)法使用(由于超載或停機(jī)維護(hù)),通常,這只是暫時(shí)狀態(tài)。
504(網(wǎng)關(guān)超時(shí))服務(wù)器作為網(wǎng)關(guān)或代理,但是沒有及時(shí)從上游服務(wù)器收到請(qǐng)求
505(HTTP 版本不受支持)服務(wù)器不支持請(qǐng)求中所用的 HTTP 協(xié)議版本