Avira Antivirus将侦听功能检测为后门模型

时间:2010-08-05 05:38:28

标签: c++ windows sockets

功能

listen( ListenSocket, SOMAXCONN )

被avira antivirus检测为后门模型。

如何在没有监听功能的情况下编写小型客户端/服务器应用程序?

有办法吗?

4 个答案:

答案 0 :(得分:2)

如果您需要接受连接,那么不,如果不调用listen,则不能这样做。

如果您可以使您的应用程序只是一个客户端并且服务器在其他地方运行,那么您的客户端可以连接到服务器,并且服务器可以充当其他客户端连接到的代理...

无论如何我不会担心这个。如果您正在运行一台服务器,希望能够从运行它的计算机以外的计算机进行连接,那么您的文档将不得不解释如何打开防火墙端口等等,只需添加如何排除防火墙端口的详细信息。来自它混淆的防病毒应用程序的应用程序。

此外,您的应用程序正在接受来自外部源的连接,因此防病毒应用程序正确警告用户。您需要告知用户您的应用程序可以执行此操作,因为它是出于您的正当理由而执行此操作。如果您不想向用户解释,那么,恕我直言,您正在写一个后门;)

答案 1 :(得分:0)

卸载Avira Antivirus; - )

根据定义,服务器侦听传入连接,客户端启动与服务器的连接。在TCP / IP网络中,服务器通过bind()listen()到套接字实现此目的。

答案 2 :(得分:0)

Avira充满了各种容易解决的误报。尝试将listen存储到函数指针并调用它。它可能会奏效。

答案 3 :(得分:0)

如果您正在处理TCP连接,并且您知道连接来自何处/何处,并且有第三方可以告诉您何时将尝试连接,则它对{{1}的双方都有效彼此同时。这样做可以协商连接而无需双方监听。如果涉及到NAT,这不是一个好的解决方案,需要更复杂的实现,但如果客户端和服务器在LAN上,则可能存在这种情况。