wireshark http過程

一直研究lighttpd源碼,順便看下網絡編程,不說太多,開始吧編程

 

第一步 設置wireshark過濾規則瀏覽器

tcp.port eq 81 ,而後開始捕捉服務器

第二步  http://183.61.16.168:81/ 打開瀏覽器訪問這個地址網絡

第三步,分析數據tcp

 

2636 17.482576000 183.27.235.172 183.61.16.168 TCP 74 4197 > hosts2-ns [SYN] Seq=0 Win=8192 Len=0 MSS=1440 WS=4 SACK_PERM=1spa

2638 17.498859000 183.61.16.168 183.27.235.172 TCP 74 hosts2-ns > 4197 [SYN, ACK] Seq=0 Ack=1 Win=14600 Len=0 MSS=1460 SACK_PERM=1 WS=512get

2639 17.498994000 183.27.235.172 183.61.16.168 TCP 62 4197 > hosts2-ns [ACK] Seq=1 Ack=1 Win=66240 Len=0源碼

 

以上就是tcp三次握手,網絡編程

2696 18.028389000 183.27.235.172 183.61.16.168 TCP 463 4197 > hosts2-ns [PSH, ACK] Seq=1 Ack=1 Win=66240 Len=401io

這條就是發送http請求包了

長度爲401

2698 18.051721000 183.61.16.168 183.27.235.172 TCP 62 hosts2-ns > 4197 [ACK] Seq=1 Ack=402 Win=15872 Len=0

這個就是服務器響應給瀏覽器的數據,服務器說收到了請求,而後把ack加上401等於402返回給客戶端,若是不返回,瀏覽器會重發給服務器

2699 18.052968000 183.61.16.168 183.27.235.172 TCP 289 hosts2-ns > 4197 [PSH, ACK] Seq=1 Ack=402 Win=15872 Len=227

到這條,服務器返回首頁給瀏覽器,長度爲227 這裏能夠發現只有有數據,Len確定是大於0的

2721 18.234494000 183.27.235.172 183.61.16.168 TCP 403 4197 > hosts2-ns [PSH, ACK] Seq=402 Ack=228 Win=66012 Len=341

瀏覽器偷偷的發起第二個請求,get /favicon.ico 這個請求,

2722 18.259705000 183.61.16.168 183.27.235.172 TCP 541 hosts2-ns > 4197 [PSH, ACK] Seq=228 Ack=743 Win=16896 Len=479

服務器說沒有這個文件,而後返回給客戶端

 

2728 18.514549000 183.61.16.168 183.27.235.172 TCP 541 [TCP Retransmission] hosts2-ns > 4197 [PSH, ACK] Seq=228 Ack=743 Win=16896 Len=479

又重發了一次

 

2729 18.514663000 183.27.235.172 183.61.16.168 TCP 74 4197 > hosts2-ns [ACK] Seq=743 Ack=707 Win=65532 Len=0 SLE=228 SRE=707

瀏覽器說收到了,給服務器一個回答

3180 23.263527000 183.61.16.168 183.27.235.172 TCP 62 hosts2-ns > 4197 [FIN, ACK] Seq=707 Ack=743 Win=16896 Len=0

服務器主動關閉鏈接,發送一個fin

3181 23.263637000 183.27.235.172 183.61.16.168 TCP 62 4197 > hosts2-ns [ACK] Seq=743 Ack=708 Win=65532 Len=0

瀏覽器說收到了

3587 27.508143000 183.27.235.172 183.61.16.168 TCP 62 4197 > hosts2-ns [FIN, ACK] Seq=743 Ack=708 Win=65532 Len=0

而後瀏覽器發送一個fin

3590 27.523692000 183.61.16.168 183.27.235.172 TCP 62 hosts2-ns > 4197 [ACK] Seq=708 Ack=744 Win=16896 Len=0

而後服務端說收到了

 

其實有個問題就是 seq和ack有點混亂,一時加這個,一時加那個

相關文章
相關標籤/搜索