DNS 协议字段解析结果rcode说明

RcodeNameDescriptionReference
0NoErrorNo ErrorRFC1035
1FormErrFormat ErrorRFC1035
2ServFailServer FailureRFC1035
3NXDomainNon-Existent DomainRFC1035
4NotImpNot ImplementedRFC1035
5RefusedQuery RefusedRFC1035
6YXDomainName Exists when it should notRFC2136
7YXRRSetRR Set Exists when it should notRFC2136
8NXRRSetRR set that should exist does notRFC2136
9NotAuthServer Not Authoritative for zoneRFC2136
10NotZoneNot AUthorizedRFC2845
11-15Unassigned  
16BADVERSBad OPT VersionRFC6891
16BADSIGTSIG Signature FailureRFC2845
17BADKEYKey not revognizedRFC2845
18BADTIMESignature out of time windowRFC2845
19BADMODEBad TKEY ModeRFC2930
20BADNAMEDuplicate key nameRFC2930
21BADALGAlgorithm not supportedRFC2930
22BADTRUNCBad TruncationRFC4635
23-3840Unassigned  
3841-4095Reserved for Private Use  
4096-65534Unassigned  
65535Reserved  

 

 

### DNS协议工作原理 DNS(Domain Name System)作为互联网的关键组成部分之一,提供了一种将人类可读的域名转换成计算机用于定位和识别域中特定节点所需的数值型IP地址的服务[^2]。 #### 分布式、层次化数据库 DNS采用分布式存储机制来管理全球范围内的域名信息。这种分布式的特性使得单个服务器不会成为整个系统的瓶颈或者单一故障点。通过构建一个树状结构,顶级域位于根部之下,依次向下细分至各个子域直至最终的具体主机名。 #### 缓存机制 为了提高效率并减少网络流量,在各级别上的DNS服务器都会实现一定的缓存功能。当某台设备首次请求解析某个域名时,本地或附近区域内的DNS服务器会保存这次查询的结果一段时间。在此期间如果有相同域名的新请求,则可以直接从缓存中获取而无需再次发起外部查询过程。 ### DNS报文结构分析 DNS报文分为请求报文和响应报文两种形式。每一种类型的报文中均包含了多个字段用来描述不同的属性以及携带实际的数据内容。 对于一个典型的DNS请求来说: - **事务ID**:16比特长,主要用于匹配对应的回复消息。 - **标志**:同样占据两个字节空间,其中包含了一些重要的控制位如QR(区分是查询还是回应),Opcode(操作码指示具体的操作类型), AA(授权回答标记)等[^4]。 例如,值`0x8180`代表了一个标准查询的回答,并且设置了递归可用(RA)标志表明该名称服务器能够处理递归请求。 此外还有关于问题数量(QDCOUNT)、回答资源记录数(ANCOUNT)等相关计数器也存在于头部之中以便接收端理解后续跟随的信息体大小与构成情况[^3]。 ```python import struct def parse_dns_header(data): header = {} # 解析前两字节为交易ID transaction_id, flags_and_counts = struct.unpack('!HH', data[:4]) qr_opcode_aa_tc_rd_ra_z_rcode = (flags_and_counts >> 4) header['transaction_id'] = transaction_id # 提取各标志位和其他信息... return header ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值