首页 > 运维 > linux中如何检测UDP端口是否开启
2016
05-03

linux中如何检测UDP端口是否开启


背景

搭建了一台dnsmasq DNS解析服务器,不想对外网提供服务,只给内网提供解析服务,想关闭udp53端口的入站规则

如何判断UDP 53端口是否提供服务呢?


我们的服务端:123.207.190.86

客户端:115.159.122.65


1. server启动一个icmp抓包侦听:

$ tcpdump -n -i eth0 icmp and host 115.159.122.65

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes


2. client发送一个UDP包测试:

$ echo reply-me | nc -u 123.207.190.86 53

server观察抓包情况,没有任何输出,说明没有报错,我们来验证下是否有UDP数据包发过来

3. server启动一个udp抓包侦听:

$ tcpdump -n -i eth0 udp and host 115.159.122.65

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
11:36:16.580592 IP 115.159.122.65.39059 > 10.105.246.220.domain: [|domain]

我们看到有udp数据包发送过来   IP 115.159.122.65.39059 > 10.105.246.220.domain

说明2台机器之间的UDP数据包是通的

4. 我们换个不存在的端口试试

$ echo reply-me | nc -u 123.207.190.86 51
nc: Write error: Connection refused

server观察抓包情况如下:

11:39:56.795148 IP 10.105.246.220 > 115.159.122.65: ICMP 10.105.246.220 udp port la-maint unreachable, length 45

如果抓包侦听打印出‘ICMP port unreachable’信息,则说明你发送往的那个UDP地址和端口不通

最后我们登录腾讯云,这台server的安全组设置中设置 UDP:53的入站规则设置为拒绝,就OK了

总结

我们可以通过 tcpdump和nc命令检测udp服务的监听情况


本文》有 0 条评论

留下一个回复