DNS请求及定制响应

        近期因项目需要,服务器侧需要收敛53端口,不给客户端提供53端口进行DNS解析,所以需要本地进行特定域名解析,DNS解析的最终目标就是将虚拟域名转换为网关的虚拟IP。

        我们项目组是负责零信任产品线的研发,因客户那边不允许大脑开多个端口,所以大脑侧需要收敛端口,DNS解析53端口经调研可以去掉。

        原理:在驱动层对本地53端口消息包进行过滤,取出特定域名的DNS请求,然后按照DNS响应消息包的格式对DNS进行定制响应。

    DNS可以使用UDP与TCP两种协议。这里我们主要以UDP进行分析。

DNS报文字段解析

    DNS报文格式:

桢首部IP首部UDP首部DNS报文

    DNS字段格式:

    发送报文

DNS头部DNS query

    接收报文

DNS头部DNS queryDNS answer


DNS报文头部

字段
    

说明

Transaction ID
    

辨别DNS应答报文是哪个请求报文的响应

QR
    

Flags字段,1为响应,0位查询

OpCode
    

Flags字段,查询或响应类型,0为标准,1为反向,2为服务器状态请求

AA
    

Flags字段,授权回答

TC
    

Flags字段,截断,1表示超过512字节并已被截断,0表示没有发送截断

RD
    

Flags字段,是否希望得到递归回答

RA
    

Flags字段,响应报文中为1便是得到递归响应

Z
    

Flags字段,0

AD
    

Flags字段,真是数据

CD
    

Flags字段,禁止校验

RCODE
    

Flags字段,返回码:0-无差错,1-格式错误,2-服务器失效,3-不存在域名,4-查询类型不支持,5-被禁止,6-15保留

Questions
    

Flags字段,查询数

Answer
    

Flags字段,资源记录数

Authority
    

Flags字段,授权资源记录数

Additional
    

Flags字段,额外资源记录数

 

 按照响应包的结构可定制自行拼包,给与特定的响应

相关代码资源已经上传

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值