是否可以在套接字侦听器上跟踪错过的连接?

时间:2017-11-27 17:23:06

标签: python linux sockets

我在Python中构建一个脚本(使用套接字和Asyncore),它运行良好(并且效率很高),但我很确定在它崩溃时我会丢失连接。

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

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

1 个答案:

答案 0 :(得分:2)

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

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

eth0更改为您的聆听界面的名称,并'port 80'更改为您正在聆听的端口。

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