欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

歡迎來到云服務(wù)器

系統(tǒng)配置

使用tcpdump分析HTTP請(qǐng)求完整解析

tcpdump是Linux下的截獲分析網(wǎng)絡(luò)數(shù)據(jù)包的工具,對(duì)優(yōu)化系統(tǒng)性能有很大參考價(jià)值。

一 安裝

tcpdump不是默認(rèn)安裝的,在CentOS下安裝:


yum install tcpdump

在Ubuntu下安裝:


apt-get install tcpdump

二 開始截獲

tcpdump執(zhí)行很簡單,就直接輸入即可,不過這樣會(huì)截獲全部的數(shù)據(jù)包,眼花繚亂,顯示的內(nèi)容根本沒有辦法用。一般都會(huì)為它加上參數(shù),比如:

最常用的是截獲某IP的主機(jī)的網(wǎng)絡(luò)數(shù)據(jù)包:


tcpdump host 192.168.0.123

三 分析一次完整請(qǐng)求

為簡單明了起見,我截獲了一段“干凈”的數(shù)據(jù)包,顯示了本機(jī)對(duì)某URL發(fā)起的一次請(qǐng)求的全過程:


23:30:01.828266 IP 192.168.0.251.34245 > li527-105.members.linode.com.http: Flags [S], seq 2340440979, win 14600, options [mss 1460,sackOK,TS val 237397584 ecr 0,nop,wscale 7], length 0
23:30:01.931109 IP li527-105.members.linode.com.http > 192.168.0.251.34245: Flags [S.], seq 64288983, ack 2340440980, win 14480, options [mss 1440,sackOK,TS val 3220226885 ecr 237397584,nop,wscale 7], length 0
23:30:01.931221 IP 192.168.0.251.34245 > http://www.server110.com/.http: Flags [.], ack 1, win 115, options [nop,nop,TS val 237397594 ecr 3220226885], length 0
23:30:01.931544 IP 192.168.0.251.34245 > li527-105.members.linode.com.http: Flags [P.], seq 1:133, ack 1, win 115, options [nop,nop,TS val 237397594 ecr 3220226885], length 132
23:30:02.031923 IP li527-105.members.linode.com.http > 192.168.0.251.34245: Flags [.], ack 133, win 122, options [nop,nop,TS val 3220226987 ecr 237397594], length 0
23:30:02.032171 IP li527-105.members.linode.com.http > 192.168.0.251.34245: Flags [P.], seq 1:323, ack 133, win 122, options [nop,nop,TS val 3220226988 ecr 237397594], length 322
23:30:02.032233 IP 192.168.0.251.34245 > li527-105.members.linode.com.http: Flags [.], ack 323, win 123, options [nop,nop,TS val 237397604 ecr 3220226988], length 0
23:30:02.034852 IP 192.168.0.251.34245 > li527-105.members.linode.com.http: Flags [F.], seq 133, ack 323, win 123, options [nop,nop,TS val 237397605 ecr 3220226988], length 0
23:30:02.139101 IP li527-105.members.linode.com.http > 192.168.0.251.34245: Flags [F.], seq 323, ack 134, win 122, options [nop,nop,TS val 3220227091 ecr 237397605], length 0
23:30:02.139233 IP 192.168.0.251.34245 > li527-105.members.linode.com.http: Flags [.], ack 324, win 123, options [nop,nop,TS val 237397615 ecr 3220227091], length 0

TCP協(xié)議要建立連接要經(jīng)過3次“握手”,截取的數(shù)據(jù)包也是從3次握手開始,可以看到前三個(gè)包的狀態(tài)(Flags)分別是:

 [S]、[S.]、[.]

首先是客戶端向服務(wù)端發(fā)送一個(gè)10位的序號(hào)給服務(wù)端;服務(wù)端收到后把它+1再返回回去;客戶端檢查返回來的序號(hào)是對(duì)的,就返回給服務(wù)端一個(gè)1。根據(jù)上面的描述,知道這三個(gè)包滿足:第一個(gè)包的seq+1=第二個(gè)包的ack;第三個(gè)包的ack=1

連接建立了之后就是具體的數(shù)據(jù)交互了,tcpdump腳本加-X參數(shù)可以通過十六進(jìn)制和ASCII方式顯示出具體的數(shù)據(jù)內(nèi)容,這里略過。

TCP協(xié)議要斷開連接要經(jīng)過4次“揮手”,上面數(shù)據(jù)包的最后3條就是揮手的過程。細(xì)心的朋友會(huì)發(fā)現(xiàn)前面說的4次揮手,卻只有3個(gè)包,這不是筆誤。

最后三個(gè)包的狀態(tài)分別是:

[F.]、[F.]、[.]

首先是客戶端發(fā)一個(gè)序號(hào)告訴服務(wù)器我要斷開,服務(wù)器說行,服務(wù)器發(fā)回一個(gè)序號(hào),說斷開吧,客戶端說:“斷!”

四次揮手之所以只能看到3個(gè)數(shù)據(jù)包是因?yàn)椋篈CK延遲發(fā)送機(jī)制。為了提高性能,TCP在收到ACK之后會(huì)攢起來而不是立即發(fā)送的,在幾種情況下才會(huì)發(fā)送:

1 超過MSS(可以理解為攢得太多了,放不下了)
2 有FIN
3 系統(tǒng)設(shè)置為禁用延遲(TCP_NODELAY)

倒數(shù)第二條的前面應(yīng)該還有一個(gè)ACK,因?yàn)椴环仙鲜?條,所以被延遲(一般是40ms或者200ms)了,等到倒數(shù)第二條發(fā)出時(shí)符合條件了(有FIN)就一塊發(fā)出來了,所以4次揮手只能看到3個(gè)包。如果系統(tǒng)禁用了延遲發(fā)送,就會(huì)看到4個(gè)包了。

以上均為我自己的理解,如果理解的不對(duì),請(qǐng)指正。

騰訊云代理

Copyright © 2003-2021 MFISP.COM. 國外vps服務(wù)器租用 夢飛云服務(wù)器租用 版權(quán)所有 ? 粵ICP備11019662號(hào)

主站蜘蛛池模板: 清远市| 华安县| 巴林右旗| 图们市| 金乡县| 景泰县| 河间市| 视频| 云林县| 九台市| 敖汉旗| 京山县| 北安市| 吉林市| 岳阳市| 张家港市| 措勤县| 肥城市| 犍为县| 和林格尔县| 山西省| 绥阳县| 同江市| 大新县| 工布江达县| 秦安县| 蒲江县| 贵州省| 海丰县| 郁南县| 嘉鱼县| 五莲县| 静安区| 喀喇沁旗| 邮箱| 南充市| 定陶县| 固安县| 新化县| 尉犁县| 平度市|