C#程序正在监听0.0.0.0,但不是192.168.x.x

问题描述 投票:0回答:1

我有一个用C#制造的软件,该软件在端口5000上打开了一个侦听器,以通过网络侦听传入的流量。为了进行测试以确保其正常工作,我有一个程序,其中包含以下代码集:

Int32 port = 11000;
IPAddress localAddr = IPAddress.Parse("192.168.x.x")

client = new TcpClient();
client.Connect(localAddr, port);

根据我的netstat-我的监听程序正在这样监听:

0.0.0.0:1000 * LISTENING

它没有显示正在192.168.X.X上监听。

当我运行测试程序时,它给我一个套接字80004005的错误,表明该连接被主动拒绝。当我在另一台计算机上运行测试程序时,它说没有收到信号并超时。当我检查防火墙日志时,它说什么都没有被阻止。我什至有防火墙规则允许端口甚至.exe来确保它获得所有流量。

我有一台装有监听软件的计算机,并且正在用netstat显示它

192.168.x.x:11000        *         LISTENING
0.0.0.0:11000            *         LISTENING

对于这台计算机,它工作正常。测试程序将正常运行。

如果防火墙不是问题,正如我从日志中看到的那样,并且规则允许所有流量进入侦听程序,为什么它被主动拒绝并且不回头?为什么在这台机器上它不以工作状态监听192.168.x.x地址?

vb.net firewall
1个回答
0
投票

我还不能确切说出正在发生什么,但我可以建议您检查一些事情:

  • 请记住,有two个防火墙:用于限制传入连接的服务器防火墙,以及用于限制出站连接的本地计算机的防火墙。确保检查这两个;有时,不常见的出站端口将被阻止。
  • 您说netstat使用0.0.0.0:1000显示您的侦听器。这表示端口1000。到目前为止,我在问题中看到过修改,显示您尝试在端口500011000上进行连接,但从未尝试过在1000上进行连接。
  • 请确保您的防病毒软件没有干扰。它可能会在异常端口上看到此流量,表明存在病毒。实际上,speedguide过去指示port 1000 has been used by trojans
© www.soinside.com 2019 - 2024. All rights reserved.