日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

curl网络访问时报错:(56) Recv failure: Connection timed out

發布時間:2023/12/29 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 curl网络访问时报错:(56) Recv failure: Connection timed out 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、問題描述

某次用戶對接某業務平臺,在用戶側curl平臺側資源,報錯:(56) Recv failure: Connection timed out;

二、分析處理

1、在服務器端curl上述地址正常;公網訪問該url地址也正常;

2、用戶側訪問,telnet 端口訪問正常,這是curl Url時,提示連接超時;

3、可能原因:

客戶端側查看socket:顯示:ESTABLISHED

當tcp連接完成syn->syn ack后進入ESTABLISHED狀態, 而可能由于客戶側iptables的配置導致服務端之后返回的tcp報文被drop掉,服務端多次重傳后無ack返回,返回 time out

4>抓包分析:

客戶端和服務端都可以:

服務端執行:tcpdump -i eth1 tcp port 10080 and src host client_ip

現場實際:只看到src進來了,沒看到出去的;最后原因為,本地確實到src_ip的路由,添加靜態路由后,再次測試,訪問正常。

三、相關參考:

3.1、常見Socket網絡異常類型

3.2、網絡異常場景示例說明

1)connect timed out

假如客戶端:iptables -A OUTPUT -p tcp --syn --dport 10080 -j DROP

客戶端訪問服務端時,會出現以下類似報錯:

Connection timed out* couldn’t connect to host
Closing connection #0
curl: (7) couldn’t connect to host

客戶端查看socket狀態:SYN_SENT,即壓根出不去

2) Connection timed out

假如客戶端側:iptables -A OUTPUT -p tcp -m state --state ESTABLISHED --dport 10080 -j DROP

客戶端訪問服務端,會出現以下類似報錯:

  • Recv failure: Connection timed out* Closing connection #0
    curl: (56) Recv failure: Connection timed out

客戶端查看socket狀態:ESTABLISHED;客戶端抓包可看到:當tcp連接完成syn->syn ack后進入ESTABLISHED狀態, 而由于iptables的配置導致服務端之后返回的tcp報文被drop掉,服務端多次重傳后無ack返回,返回Connection time out

3)Connection refused

假如客戶端通過iptables有:iptables -A OUTPUT -p tcp --dport 10080 -j REJECT

客戶端訪問服務端,會出現以下類似報錯:

  • Connection refused
  • couldn’t connect to host
  • Closing connection #0
    curl: (7) couldn’t connect to host

客戶端查看socket狀態:FIN_WAIT1;服務端抓包可知,由于iptables的配置,客戶端主動reject掉服務端返回的syn ack;

4)Connection reset by peer or connection reset

客戶端訪問服務端,出現如下類似報錯:

  • Recv failure: Connection reset by peer* Closing connection #0
    curl: (56) Recv failure: Connection reset by peer

客戶端抓包可看到,服務端在tcp連接建立后主動down掉連接:

參考:異常測試之Socket網絡異常
。

總結

以上是生活随笔為你收集整理的curl网络访问时报错:(56) Recv failure: Connection timed out的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。