带UDP的服务器端口全部打开

我是一名在CentOS7服务器上工作的开发者。 今天我想检查服务器的所有端口的状态。

首先我执行命令: firewall-cmd --zone=public --list-ports ,我得到这个:

110 / tcp 443 / tcp 80 / tcp 995 / tcp 143 / tcp 3306 / tcp 993 / tcp

以上所有的端口都由我打开,所以一切都很好。

然后我用另一台Linux PC,用nc来扫描服务器的端口(说服务器的ip是aaaa):

 nc -v -z -w2 aaaa 1-4000 

我得到相同的结果。

之后,我使用nc来扫描使用UDP的端口:

 nc -v -z -w2 -u aaaa 1-4000 

令我惊讶的是,似乎所有的端口都打开了,因为我得到的结果如下:

 Connection to aaaa port 1 [udp/tcpmux] succeeded! found 0 associations found 1 connections: 1: flags=82<CONNECTED,PREFERRED> outif (null) src bbbb port 62086 dst aaaa port 2 rank info not available Connection to aaaa port 2 [udp/compressnet] succeeded! found 0 associations found 1 connections: 1: flags=82<CONNECTED,PREFERRED> outif (null) src bbbb port 60795 dst aaaa port 3 rank info not available Connection to aaaa port 3 [udp/compressnet] succeeded! found 0 associations found 1 connections: 1: flags=82<CONNECTED,PREFERRED> outif (null) src bbbb port 50133 dst aaaa port 4 rank info not available Connection to aaaa port 4 [udp/*] succeeded! found 0 associations found 1 connections: 1: flags=82<CONNECTED,PREFERRED> outif (null) src bbbb port 64246 dst aaaa port 5 rank info not available Connection to aaaa port 5 [udp/rje] succeeded! found 0 associations found 1 connections: 1: flags=82<CONNECTED,PREFERRED> outif (null) src bbbb port 50334 dst aaaa port 6 rank info not available ... ... 

现在我很困惑。
为什么所有的端口都打开UDP? 安全吗? 如果不安全,为什么防火墙不closures它们?
对我来说,“端口是开放的”是指某个程序或系统正在监听它。 例如, 80/tcp意味着我的web程序正在侦听端口80.如果我是正确的,是否意味着服务器正在使用UDP监听所有的端口?
或者“端口是开放的”只是意味着防火墙不会阻塞端口,这样就可以使用一些程序来侦听呢?

UDP响应是一个假阳性,你可以忽略这一点。 UDP是一种无连接/无状态的协议,所以它不需要任何回应……没有反应,坏的反应……都是一样的。 TCP是一种有状态的协议,因为两个端点都保留有关对方状态的信息,确认是必需的,并且可以重传。

阅读无状态协议: https : //en.wikipedia.org/wiki/Stateless_protocol

TCP状态: https : //upload.wikimedia.org/wikipedia/commons/a/a2/Tcp_state_diagram_fixed.svg