【发布时间】:2020-02-20 17:42:55
【问题描述】:
我可以使用 Node.js 连接到 TCP 服务器,并让它一直挂在那里直到超时,但是当我尝试写入服务器时,它会返回一个 FIN 标头来关闭连接。
通常一个 android 应用程序会连接到它,它最初会发送有效负载“.”。到服务器,应用程序可以继续发送数据,但是当我发送有效载荷时'。'使用我的自定义节点脚本,服务器关闭连接。
服务器能否以某种方式检测到我没有从应用程序发送数据?
【问题讨论】:
-
不,没有秘密的侧通道告诉 TCP 服务器“嘿,你知道,连接 XYZ 确实是由官方应用程序建立的”。除非有。但是您可能没有正确实施协议。我们无法猜测协议是什么。也许它是基于时间的。或者 ”。”您看到的是 WireShark 显示了一个不可打印的字符,该字符实际上具有除“.”之外的另一个值,并且您发送了一个文字“。”是违反协议的。或者你应该只发送一个“。”在周三。我们不知道协议,所以我们无法判断。总而言之,这是无法回答且过于宽泛的问题。
-
你是对的!在我的网络分析器中,有效负载正在从十六进制转换为 ascii。所以当我向服务器发送十六进制时,它并没有关闭连接。谢谢。