我正在使用 Ubuntu 虚拟主机运行一个tomcat
使用端口 8080、8009 和 8000 的基础应用程序。网络管理员已经打开了这些端口,当我在其nmap
上运行时localhost
,显示它们已打开。
$ nmap localhost
Starting Nmap 7.60 ( https://nmap.org ) at 2020-02-10 12:46 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00023s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3306/tcp open mysql
8009/tcp open ajp13
8080/tcp open http-proxy
然而,nmap
从我的机器上运行,使用 IP 地址显示它们已被过滤。
$ nmap 120.xxx.xxx.xxx -p 8080
Starting Nmap 7.60 ( https://nmap.org ) at 2020-02-12 10:36 EAT
Nmap scan report for 52.157.164.120
Host is up (0.17s latency).
PORT STATE SERVICE
8080/tcp filtered http-proxy
Nmap done: 1 IP address (1 host up) scanned in 2.39 seconds
我无权访问该azure
界面,并且 Ubuntu VM 上没有启用防火墙。
什么可以过滤请求?我能做些什么?
答案1
您的 Tomcat 机器(至少)有 2 个 IP(如果网络已启动):127.0.0.1 (localhost) 和为该机器所在网络配置的 IP。
当然,您可以在相同或不同的网络上拥有更多 IP,并且可以将 Tomcat 配置为侦听特定 IP。检查您的 Tomcat 配置,确保它不仅仅监听 127.0.0.1,因为这可能会避免来自外部世界的访问。
您可以尝试的另一个测试是从 Tomcat 计算机进行 nmap 到自身(不是本地主机地址,而是另一个地址)。如果我没记错的话,当你询问该IP时,系统不会将数据包发送到外界,它会将该地址识别为自己的地址并将数据包发送给自己。这样您就可以确认您的服务正在正确的 IP 上运行,并且问题出在您的盒子内部/外部。