【问题标题】:Is it possible to track the missed connection on a socket listener?是否可以在套接字侦听器上跟踪丢失的连接?
【发布时间】:2017-11-27 17:23:05
【问题描述】:

我在 Python 中构建了一个脚本(使用 Sockets 和 Asyncore),它运行良好(而且效率很高),但我很确定当它爆发时我会失去连接。

我很想知道是否有办法跟踪到该特定端口的连接,我的脚本处理了多少,错过了多少(不响应,或响应时间过长,或其他任何事情)否则)。

我问关于 SO 的问题是因为相关的 Python 代码,但它也可以直接在 Linux(Debian)日志或 Linux 中的任何实现上找到。

【问题讨论】:

    标签: python linux sockets


    【解决方案1】:

    如果您想监视连接失败,可以使用 tcpdump 来嗅探表示连接失败的 ICMP 数据包,如下所示:

    tcpdump -nni eth0 'port 80' -e icmp[icmptype] == 3
    

    eth0 更改为您的侦听接口的名称,并将'port 80' 更改为您正在侦听的端口。

    请注意,ICMP 类型 3 涵盖“拒绝连接”和“无路由到主机”。

    【讨论】:

    • 感谢您的帮助。你知道这是否会减慢输入请求?
    • 哇!太好了谢谢。最后一个问题,我会没事的。有没有办法过滤特定端口?我现在正在运行它,并看到很多带有各种无法访问的端口的 UDP。我想监听 80 端口。谢谢 :)
    • 我认为如果您在接口名称后添加'port 80'(包括引号),它应该这样做。
    猜你喜欢
    • 2011-12-10
    • 2016-11-19
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多