我在Python中构建一个脚本(使用套接字和Asyncore),它运行良好(并且效率很高),但我很确定在它崩溃时我会丢失连接。
我很想知道是否有办法跟踪与该特定端口的连接,以及我的脚本处理了多少,以及错过了多少(没有响应,或者在很长时间后没有响应,或其他任何事情)。
我因为相关的Python代码而在SO上提问,但它也可以直接在Linux(Debian for the matter)日志或Linux上的任何实现中找到。
答案 0 :(得分:2)
如果要监视连接失败,可以使用tcpdump来嗅探ICMP数据包,表示连接失败,如下所示:
tcpdump -nni eth0 'port 80' -e icmp[icmptype] == 3
将eth0
更改为您的聆听界面的名称,并'port 80'
更改为您正在聆听的端口。
请注意,ICMP类型3涵盖“连接被拒绝”和“无路由到主机”。