fingerstyle
V2EX  ›  问与答

用 curl 检测代理可用性,结果局域网被搞瘫痪了。。。

  •  
  •   fingerstyle · Aug 24, 2016 · 2751 views
    This topic created in 3555 days ago, the information mentioned may be changed or developed.
    我用的判断方法是:
    curl -m 5 "请求网址" -x 代理 ip:端口 2>/dev/null |grep -c "关键字"
    看结果可以知道代理是否可用。

    我写了一个简单的 while 循环,在办公室的一台电脑上运行,每隔几秒执行一次这个检测命令,结果运行几个小时以后局域网开网页变得很卡,从外面 ping 我们办公室的 ip ,延迟很规律一会正常一会很高。。 是因为 curl 引起的 TIME_WAIT 积累吗。。还是有其他问题? linux 日志没查到相关的报错,只有路由器记录这台机器一直往外发包。。求指点
    Supplement 1  ·  Aug 24, 2016
    循环内容:

    while true
    do

    if [ `curl -m 5 "请求网址" -x 代理 ip:端口 2>/dev/null |grep -c "关键字" ` = "0" ]; then
    echo " PROXY A DOWN "
    else
    echo " PROXY A OK "
    fi

    sleep 2

    done
    2 replies    2016-08-25 11:11:10 +08:00
    helixzz
        1
    helixzz  
       Aug 24, 2016
    如果 curl 已经过了超时时间应该会释放连接吧…
    路由器上能否看到当前连接数?
    fingerstyle
        2
    fingerstyle  
    OP
       Aug 25, 2016
    @helixzz 目前查到的问题是这台机器的半连接数限制是 4096 ,有点太多了,半连接会占用路由器硬件资源,还没有来得及修改,到时候来更新验证结果。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1934 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:01 · PVG 08:01 · LAX 17:01 · JFK 20:01
    ♥ Do have faith in what you're doing.