通過分析tcp三次握手,查詢故障

2021-09-21 03:11:51 字數 2215 閱讀 4109

故障:一台伺服器開放tcp 80埠,一些客戶端能正常訪問,還有一些客戶端不能訪問,但通過telnet ip 80,卻能開啟埠。

故障分析:伺服器外邊防火牆原因?伺服器原因?客戶端瀏覽器原因?客戶端防火牆原因?

在伺服器上tcpdump抓包,使用命令:tcpdump host 192.168.0.123 -a and port 80 -i eth2

抓包結果如下:

抓包分析:

16:58:46.734731 客戶端172.16.0.23主動訪問192.168.101.253的80埠。此為tcp三次握手的第一階段,syn傳送

16:58:46.799835一直到17:00:20.319557 伺服器端一直都在傳送syn,並ack客戶端過來的syn,此為三次握手的第二階段,被動傳送syn,並進行ack

但一直未收到客戶端的最後一階段的ack。

而客戶端能通過telnet 192.168.101.253 80,則證明,客戶端已能接受到伺服器三次握手的第二階段,並傳送了最後乙個ack,進入establishe階段,並顯示為埠開啟。

而伺服器沒有收到,伺服器端不會認為三次握手結束啦,所以一直傳送syn,直到超時。

證明在客戶端有防火牆之類把ack給遮蔽住了。

解決策略:由於整個網路當時有兩個網路合併而成,有些路由器配置有問題。後來聽說修改了一下鏈路上的路由器,問題解決了。

疑問:路由器上有什麼限制,能允許tcp的syn通過,但阻止ack通過呢?

分析可能有錯誤之處,請高手指點。

TCP 三次握手分析

tcp transmission control protocol 傳輸控制協議 tcp是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次握手確認建立乙個連線 位碼即tcp標誌位,有6種標示 syn synchronous建立聯機 ack acknowledgement 確認 psh pus...

TCP三次握手分析

tcp transmission control protocol 傳輸控制協議 tcp是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次握手確認建立乙個連線 位碼即tcp標誌位,有6種標示 syn synchronous建立聯機 ack acknowledgement 確認 psh pus...

tcp三次握手 TCP 三次握手總結

tcp特點概述 tcp segment structure 段結構 step2 server host receives syn,replie with syn ack segment 答覆syn ack報文段 step3 client receives synack,replies with ac...