首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >DNS请求,UDP切变成TCP

DNS请求,UDP切变成TCP

作者头像
YaoQi
发布2025-07-14 18:56:18
发布2025-07-14 18:56:18
9400
代码可运行
举报
运行总次数:0
代码可运行

DNS 请求默认是使用 UDP 的,但是有时也能看到TCP 的请求,服务器上也会侦听 TCP 的 53 端口,这又是怎么一回事呢。

原因是响应内容太长了。

比如下边这个响应,可以看到它的Truncated标志位置1,代表消息被截断了:

一般服务器默认消息超过 512 Bytes 就会响应截断消息,这种情况下,也可以顺带响应被截断的部分数据,但也有服务器直接就不返回任何内容了,所以最好再次发起TCP重新请求下:

但是,如果你用dig命令探测可能探测不到这个过程

来看dig发出的请求:

dig请求会携带更多的消息,其中就有指定消息大小的部分,我们看UDP的响应:

如果你想用dig命令测试TCP请求,可以带+tcp参数(或+vc参数)

代码语言:javascript
代码运行次数:0
运行
复制
dig +tcp www.baidu.com

如果使用nslookup,强制tcp请求,可以加-vc参数

代码语言:javascript
代码运行次数:0
运行
复制
nslookup -vc www.baidu.com

注:相反的参数是notcp、novc

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 漫跑的小兔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档