Curl
Linux TCP 堆棧未將數據轉發到我的應用程序
我正在使用 curl 發送 HTTP 請求,但 curl 應用程序沒有收到響應。我嘗試使用 tcpdump 對其進行調試,發現遠端伺服器正在響應數據(發現 HTTP 302),但我的 curl 應用程序沒有從 linux tcp 堆棧中獲取該數據。
我的捲曲請求是:
curl -v --max-redirs 10 http://8.8.8.8:85 -L
About to connect() to 8.8.8.8 port 85 (#0) Trying 8.8.8.8... connected Connected to 8.8.8.8 (8.8.8.8) port 85 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: 8.8.8.8:85 > Accept: */* >
它掛在這裡,等待來自伺服器的數據
我已經在PCAP 文件中複製了跟踪文件
請讓我知道數據包中是否有問題或調試 TCP 堆棧的方法以了解其丟棄數據的原因,儘管它在 Wireshark wrt 校驗和和其他參數中看起來不錯。
通過仔細比較痕跡發現了問題。中間有一個故障代理伺服器,它與數據長度和確認號不匹配。
謝謝