最近在电脑上,装了个Centos Stream系统,想着虚拟机通过给阿里云服务器发送UDP包,看看阿里云服务器能不能接收到。答案显而易见,可以接收到。那么通过安全组策略屏蔽所有UDP端口进入服务器,理论上就无法发送到阿里云服务器了。讲道理的话,会安全一点,毕竟UDP无法发送到服务器了。
当然,实际上,它可以发送UDP字节到你的服务器,只是你接收不到了。再一想,其实屏蔽UDP也没啥用。不过,千万别去屏蔽服务器UDP的发包,即只可以屏蔽UDP入口方向,不可以屏蔽UDP出口方向。
好了,来看看通过哪几条命令测试吧:
本地虚拟机通过如下命令给服务器发包:
nc -uvz iymark.com
得到如下反馈:
[gugechor@localhost ~]$ nc -uvz iymark.com Ncat: Version 7.70 ( https://nmap.org/ncat ) Ncat: Connected to 47.115.48.89:31337. Ncat: UDP packet sent successfully Ncat: 1 bytes sent, 0 bytes received in 2.04 seconds.
端口随机,可以通过以下命令指定端口:
[gugechor@localhost ~]$ nc -uvz iymark.com 10240 Ncat: Version 7.70 ( https://nmap.org/ncat ) Ncat: Connected to 47.115.48.89:10240. Ncat: UDP packet sent successfully Ncat: 1 bytes sent, 0 bytes received in 2.02 seconds.
此外,还可以通过nc -uv来发送指定包:
nc -uv iymark.com 10240
会进入一个持续发包的命令行,可以随意输入字符串了。
接下来,阿里云服务器,可以通过以下命令来接收UDP信息:
tcpdump -i eth0 -s 0 port 10240
这个时候,再返回虚拟机,发送字符串,在服务器这里就会看到有包收到了。(我发现,还得加个安全组,允许UDP接收,才可以接收到信息):
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 19:10:21.391566 IP 165.42.42.59.broad.gz.gd.dynamic.163data.com.cn.58090 > iZwz98biiph4vhee88vxj8Z.10240: UDP, length 7
到此,明白了一个道理,UDP默认就被禁止入了。那么也说明,我加上UDP禁止接收的安全组策略,并没有什么用。最终,我还是执着的加了个禁止所有UDP接收的安全策略。
原创文章,作者:古哥,转载需经过作者授权同意,并附上原文链接:https://iymark.com/articles/1671.html