我在 Windows Server 2008 中工作。
我有一个非常基本的 C# 表单应用程序(不是服务),它正在监听一个端口,比如 56112。使用 telnet 时,我可以从本地主机连接并发送和接收数据。由于某种原因,我无法远程连接到该应用程序。我知道我有一个连接,因为我可以远程登录到 23。
我已经在防火墙上打开了此端口,在高级防火墙中创建了进/出规则,完全禁用了防火墙,等等。
任何建议都很好!
这是 telnet 输出:
Microsoft Telnet> open server.cc 56112
Connecting server.cc...Could not open connection to the host, on port
56112: Connect failed
nmap 输出表明端口甚至没有打开?!我已经在 Windows 防火墙(+ 高级防火墙)上创建了规则,但仍然无法远程看到这些更改。
Starting Nmap 5.21 ( http://nmap.org ) at 2010-04-17 14:04 Pacific Daylight Time
Nmap scan report for 192.168.56.101
Host is up (0.0017s latency).
Not shown: 89 closed ports
PORT STATE SERVICE
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
5357/tcp open unknown
49152/tcp open unknown
49153/tcp open unknown
49154/tcp open unknown
49155/tcp open unknown
49156/tcp open unknown
49157/tcp open unknown
答案1
答案2
我不是网络专家所以告诉我这是否是基本的:
根据我从 netstat -an 的输出中看到的模式,我将其更改
serverSocket = new TcpListener(IPAddress.Parse("127.0.0.1"), port);
为
serverSocket = new TcpListener(IPAddress.Parse("0.0.0.0"), port);
还使用了 nmap,它非常有用,但当我使用本地主机的 IP 作为服务器时,它没有报告打开的端口。一旦我进行了主机更改,我注意到 nmap 也报告端口已打开,在我看来这很奇怪。