2013-02-01 50 views
6

我是wireshark和一般网络的新手,但我正在监视我的应用程序的流量,我可以过滤它,所以我可以看到它何时主动传输数据,它应该与服务器,但wireshark显示此:这是什么wireshark信息

protocol = TCP 
length = 54 
info = 56705 > ms-wbt-server [ACK] Seq=1 Ack=61 Win=252 Len=0 

从我的应用程序每秒钟触发到我的应用程序服务器。为什么我的应用程序每秒都在发送这些数据包?

这是一个c#.net应用程序,如果有任何帮助。

回答

7

这是一个TCP keepalive数据包,不包含任何数据但设置了ACK标志。只是告诉另一端你还在那里,并保持连接打开。

有一个很好的概述这里: http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html

+0

谢谢@Vicky,当我被允许时,我会在5分钟内接受。你能否告诉我keepalive是否适合大型分布式系统?系统中有大约50000个客户端向单个应用程序服务器报告,这种保持活动可能会导致性能下降?或者是如此小的包装以及50000个客户,数量不多,不应该对网络性能造成太大影响? – 0xor1

+0

服务器是否需要知道客户端仍然存在,并且客户端是否需要立即知道服务器无法访问?如果没有,您可以在您的TCP设置中关闭它。是的,keepalive数据包很小,但有50,000个客户端向同一台服务器发送一个60字节的keepalive(编辑:当然是回复),如果*没有影响,我会感到惊讶网络性能。 – Vicky

+4

非常感谢:)原来keepalive数据包来自我的远程桌面连接,而不是我的应用程序hehe,很少。 – 0xor1

7

MS-WBT-服务器端口3389,以及用于远程桌面协议(RDP),你有你的服务器的任何远程桌面打开的连接机会?