我们看到这种行为突然没有发送我们的 TCP 响应。即使连接已建立(即我们能够接收请求)
TCP 客户端通过 VPN 连接到服务器。它大部分时间都可以工作,但有时我们看不到任何关于ngrep
假设要发送回服务器的响应的信息。
ngrep 命令
ngrep -t -d en01 port 8067
TCP 客户端是 Twisted TCP 客户端。
我尝试 netstat 检查发送队列的大小。
netstat 输出
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 x.x.x.x.:47617 y.y.y.a:8067 ESTABLISHED
tcp 0 0 x.x.x.x.:50626 y.y.y.b:8067 ESTABLISHED
y.y.y.a - TCP server 1
y.y.y.b - TCP server 2
SEND-Q (0)对我来说没问题
甚至 lsof 输出都提到 QS 为 0
lsof -Tqs -i TCP:8067
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
twistd 19561 viren 3u IPv4 183882947 0t0 TCP x-x-x-x:47617->y.y.y.a:8067 (ESTABLISHED QR=0 QS=0)
twistd 19564 viren 3u IPv4 183879151 0t0 TCP x-x-x-x:50626->y.y.y.b:8067 (ESTABLISHED QR=0 QS=0)
重要说明,当我重新启动 TCP 客户端时,我会看到消息流。
不知道出了什么问题以及数据包发生了什么。
有什么线索吗??
操作系统
CentOS Linux 版本 7.2.1511(核心)