Tcp
TCP流控制誤讀的原因是什麼?
客戶端無法連接到我們的 Web 伺服器。我嗅探了客戶端和 Web 伺服器,卻發現客戶端認為 TCP 連接成功,而伺服器認為 TCP 連接失敗。這個問題的可能原因是什麼?客戶端向伺服器發送的 ACK 數據包在通過網路時是否損壞。
兩者的螢幕截圖顯示在下面的連結中。
這兩個設備之間肯定有一些東西正在重寫數據包。客戶端從它自己的 TCP/58055 埠打開一個到 TCP/80 的連接。伺服器看到來自 TCP/5822 的 SYN 數據包。只有在某些網路設備(例如 NAT 設備或某些防火牆)重寫數據包時才會發生這種情況。
客戶端視圖中存在的“SACK_PERM=1”進一步支持了這一點。那是選擇性確認,並且是 TCP 選項。伺服器看到的 SYN 數據包在某處被剝離。這是一個經典的防火牆設置,因為 SACK 被視為不安全或能夠被 DDoSed。
您在這兩者之間的某個地方有一個設備妨礙了您。您無法在終點解決此問題。