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

43 篇文章 0 订阅

参考:https://phpmianshi.com/?id=279

背景

搭建了一台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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值