zoukankan      html  css  js  c++  java
  • DNS协议

    DNS Message:

        Header   消息头部

        Question    DNS请求

        Answer  回答请求的资源记录(Resource Record(s))

        Authority   指向域的资源记录

        Additional  其他资源记录

     

    --------------------------------------------------------------

     

    DNS header: 12byte

                                    1  1  1  1  1  1

      0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |                      ID                       |

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |QR|   Opcode  |AA|TC|RD|RA|   Z    |   RCODE   |

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |                    QDCOUNT                    |

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |                    ANCOUNT                    |

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |                    NSCOUNT                    |

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |                    ARCOUNT                    |

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

     

    --------------------------------------------------------------

     

    DNS请求

                                    1  1  1  1  1  1

      0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |                                               |

    /                     QNAME                     /

    /                                               /

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |                     QTYPE                     |

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |                     QCLASS                    |

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

     

    QNAME   域名被编码为一些labels序列,每个labels包含一个字节表示后续字符串长度,

            以及这个字符串,以0长度和空字符串来表示域名结束。

            注意这个字段可能为奇数字节,不需要进行边界填充对齐。

            

    QTYPE   2个字节表示查询类型,.取值可以为任何可用的类型值,以及通配码来表示所有的资源记录。

    1   A   IPv4地址。

    2   NS  名字服务器。

    5   CNAME   规范名称。定义主机的正式名字的别名。

    6   SOA 开始授权。标记一个区的开始。

    11  WKS 熟知服务。定义主机提供的网络服务。

    12  PTR 指针。把IP地址转化为域名。

    13  HINFO   主机信息。给出主机使用的硬件和操作系统的表述。

    15  MX  邮件交换。把邮件改变路由送到邮件服务器。

    28  AAAA    IPv6地址。

    252 AXFR    传送整个区的请求。

    255 ANY 对所有记录的请求。

     

    QCLASS 2个字节表示查询的协议类,比如,IN代表Internet。

     

    --------------------------------------------------------------

     

    DNS响应

     

                                    1  1  1  1  1  1

      0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |                                               |

    /                                               /

    /                      NAME                     /

    |                                               |

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |                      TYPE                     |

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |                     CLASS                     |

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |                      TTL                      |

    |                                               |

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

    |                   RDLENGTH                    |

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|

    /                     RDATA                     /

    /                                               /

    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

     

    NAME    资源记录包含的域名

    TYPE    2个字节表示资源记录的类型,指出RDATA数据的含义

    CLASS   2个字节表示RDATA的类

    TTL     4字节无符号整数表示资源记录可以缓存的时间。0代表只能被传输,但是不能被缓存。单位:秒

    RDLENGTH        2个字节无符号整数表示RDATA的长度

    RDATA   不定长字符串来表示记录,格式根TYPE和CLASS有关。

            比如,TYPE是A,CLASS 是 IN,那么RDATA就是一个4个字节的ARPA网络地址。

  • 相关阅读:
    c语言输入一个字符串,统计其字母,数字和其他字符的个数,并以柱状图输出
    c语言中的#ifdef和#ifndef
    宏定义#define
    c语言中的register int
    android SDK 更新的几个网址
    android studio启动不进行fetching Android sdk compoment information
    android eclipse ADT 安装maven插件失败
    Jsp 的映射
    Jsp 九大隐式对象
    Jsp 乱码处理
  • 原文地址:https://www.cnblogs.com/549294286/p/5172396.html
Copyright © 2011-2022 走看看