我有一个网络服务器,用于托管各种网站。外部可访问的两个服务是 SSH 和 Apache2。它们分别在非标准和标准端口上运行。所有其他端口都通过 arno-iptables-firewall 明确关闭。主机正在运行 Debian Testing。
我注意到使用 nmap 扫描主机时,不同的 PC 会产生不同的结果。从我家网络上的笔记本电脑(位于 BT Homehub 后面)中,我得到了以下结果:
Not shown: 996 filtered ports
PORT STATE SERVICE
80/tcp open http
554/tcp open rtsp
7070/tcp open realserver
9000/tcp open cslistener
而使用 nmap 5.00 从美国的服务器扫描,以及使用 nmap 5.21 的挪威的 Linux 机器扫描,我得到了以下结果:
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
9000/tcp open cslistener
所以我希望是我的内部网络或 ISP 出现了问题,但我不能确定。
运行netstat -l | grep 7070
不会产生任何结果。端口 554 也类似。
有人能解释一下我所看到的奇怪现象吗?
答案1
这很可能是线路问题,这 2 个端口 (554/7070) 是用于 realplayers RealServers 的。
答案2
我倾向于将此归咎于您的 ISP 或您与服务器之间的某些因素。如果您只是想确认这些端口确实已关闭,您可以尝试监听这些端口,如果成功,则可以安全地假设没有任何东西在监听。以下是我在我的计算机上执行的操作(Apache 在端口 80 上,端口 81 上没有任何内容):
$ sudo netcat -p 80 -l --wait 1 # Apache on port 80
Error: Couldn't setup listening socket (err=-3)
$ sudo netcat -p 81 -l --wait 1 # Nothing on port 81
(Ctrl-C)
编辑:并且为了确保这确实有效,telnet
请从另一个盒子中检查它netcat
是否接收到您发送的内容(您可能需要增加--wait
超时时间)。
答案3
您的路由器可能是罪魁祸首。我只是想知道这是否是 OpenVZ 主机上的问题,然后找到了这篇文章: 21、554、7070端口是开放的还是关闭的?答案是肯定的。
这对我来说很有意义,因为我目前使用的是糟糕的 FiOS Actiontec 路由器。在容器和主机节点上进行 nmap 和 netcat 测试的任何组合都可以确认这些端口实际上并未打开。
答案4
我在 ESXi 中移动了一台 Windows 10 机器,端口 7070 打开的罪魁祸首是 AnyDesk。显然它在该端口上监听传入的连接请求。
希望能帮助到你