DNS抓包分析–wireshark

DNS-(Domain Name System,域名系统),是因特网上作为余名和IP地址相互映射的一个分布式数据库,能够使用户更加方便地访问互联网,而不是去记住能够被机器直接读取的IP数串。通过主机名,从而得到主机名对应的IP地址的过程叫做余名解析或者主机名解析。DNS运行在UDP协议之上,使用端口号53。

这里主要说明DNS如何使用wireshark抓包定位的,关于什么是DNS可以结合百度百科看下,已经写的很详细了。简单的来说域名就是你家地址浙江杭州滨江…,要把邮件寄到你家但是电脑不能直接识别地址就需要转换成东经多少北纬多少的IP地址,这个转换工作由DNS完成,DNS根服务器,其他的镜像服务器根据根服务器来进行地址转换.

DNS有称为IP翻译官,其具体工作流程如下:

                 Local Host                        |  Foreign|+---------+               +----------+         |  +--------+|         | user queries  |          |queries  |  |        ||  User   |-------------->|          |---------|->|Foreign || Program |               | Resolver |         |  |  Name  ||         |<--------------|          |<--------|--| Server ||         | user responses|          |responses|  |        |+---------+               +----------+         |  +--------+|     A            |cache additions |     | references |V     |            |+----------+         ||  cache   |         |+----------+         |

举例:

DNS的两种查询方式

  • 递归查询,主机向本地域名服务器的查询一般都是采用递归查询,如果主机所询问的本地域名服务器不指定被查询的域名的IP地址,那么本地域名服务器就以客户的身份,向其他根域名服务器继续发出查询请求报文。
  • 迭代查询,本地域名服务器向根域名服务器的查询通常采用迭代查询,当根域名服务器收到本地域名服务器的查询请求报文时,要么给出要查询的IP地址,要么告诉本地域名服务器下一步向那个域名服务器进行查询,然后让本地域名服务器进行后续的查询。

DNS常用问题类型

DNS查询和相应中所使用的类型域,指明了这个查询或者响应的资源记录类型。

类型 描述
1 A IPv4主机地址
2 NS 权威域名服务器
5 CNAME 规范别名,定义主机正式名字的别名
12 PTR 指针,把IP地址转换为域名
15 MX 邮件交换记录,用于电子邮件系统发送
邮件根据收件人的地址后缀
定位邮件服务器
16 TXT 文本字符串
28 AAAA IPv6主机地址
251 IXFR 增量区域传送
252 AXFR 完整区域传送

捕获DNS数据

开启wireshark开始抓包,然后使用dig触发一个DNS查询

dig www.baidu.com

命令dig的常用方式和说明

dig
DNS Lookup utility.- Lookup the IP(s) associated with a hostname (A records):dig +short {{example.com}}- Lookup the mail server(s) associated with a given domain name (MX record):dig +short {{example.com}} MX- Get all types of records for a given domain name:dig {{example.com}} ANY- Specify an alternate DNS server to query:dig @{{8.8.8.8}} {{example.com}}- Perform a reverse DNS lookup on an IP address (PTR record):dig -x {{8.8.8.8}}- Find authoritative name servers for the zone and display SOA records:dig +nssearch {{example.com}}- Perform iterative queries and display the entire trace path to resolve a domain name:dig +trace {{example.com}}

DNS报文格式解析

                                    1  1  1  1  1  10  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 ID号:用来对应DNS查询和DNS响应
  • 查询/响应(Query/Response):用来指明这个报文是DNS查询还是响应,占1比特位,1表示是响应,0表示是查询
  • 操作代码OpCode: 用来定义消息中请求的类型,占4比特位
  • AA: 权威应答,如果设置了这个位,这说明这个响应是由权威域名服务器发出的,占1比特位。
  • TC:截断,由于响应时间太长,无法接入报文而被截断。该标志为1时说明响应已经超过512字节并已被截断
  • 期望递归(Recursion Desired,RD):请求中设定了这个值,说明DNS客户端在目标域名服务器不含有所请求信息的情况下,要求进行递归查询。
  • RA: 可用递归,当设置了这个值,说明域名服务器支持递归查询。
  • 保留Z: 全部设置为0,但是有时候会作为RCODE位的扩展
  • RCODE: Response Code 响应代码,在DNS响应中,用来指明错误,占4个比特位。 含义如下:
    1. 0表示没有错误
    2. 1表示个数错误
    3. 2表示域名服务器上存在问题
    4. 3表示域参数问题
    5. 4表示类型不支持
    6. 5表示管理上被禁止
    7. 6-15表示保留
  • QDCOUNT:问题计数,在问题区段中的条目数
  • ANCOUNT: 在回答区段中的条目数
  • NSCOUNT: 域名服务器计数,在权威区段的域名资源记录数
  • ARCOUNT: 再额外信息区段中的其他资源记录数

报文说明

Domain Name System (query)Transaction ID: 0x9ad0                              #事务IDFlags: 0x0000 Standard query                        #报文中的标志字段0... .... .... .... = Response: Message is a query#QR字段, 值为0, 因为是一个请求包.000 0... .... .... = Opcode: Standard query (0)#Opcode字段, 值为0, 因为是标准查询.... ..0. .... .... = Truncated: Message is not truncated#TC字段.... ...0 .... .... = Recursion desired: Don't do query recursively #RD字段.... .... .0.. .... = Z: reserved (0)           #保留字段, 值为0.... .... ...0 .... = Non-authenticated data: Unacceptable   #保留字段, 值为0Questions: 1                                        #问题计数, 这里有1个问题Answer RRs: 0                                       #回答资源记录数Authority RRs: 0                                    #权威名称服务器计数Additional RRs: 0                                   #附加资源记录数

协议交互过程报文

Frame 5: 87 bytes on wire (696 bits), 87 bytes captured (696 bits) on interface wlp4s0, id 0
Ethernet II, Src: Chongqin_e1:18:a9 (40:23:43:e1:18:a9), Dst: HIWIFI_65:b0:40 (d4:ee:07:65:b0:40)
Internet Protocol Version 4, Src: 192.168.199.235, Dst: 192.168.199.1
User Datagram Protocol, Src Port: 36025, Dst Port: 53
Domain Name System (query)  # DNS协议Transaction ID: 0x9f1c  # 事务ID编号Flags: 0x0100 Standard query0... .... .... .... = Response: Message is a query # DNS查询.000 0... .... .... = Opcode: Standard query (0) #操作代码.... ..0. .... .... = Truncated: Message is not truncated #截断.... ...1 .... .... = Recursion desired: Do query recursively #期望递归.... .... .0.. .... = Z: reserved (0).... .... ...0 .... = Non-authenticated data: UnacceptableQuestions: 1Answer RRs: 0Authority RRs: 0Additional RRs: 1Querieswww.a.shifen.com: type A, class INName: www.a.shifen.com[Name Length: 16][Label Count: 4]Type: A (Host Address) (1)Class: IN (0x0001)Additional records<Root>: type OPT[Response In: 6]No.     Time           Source                Destination           Protocol Length Info6 0.013373576    192.168.199.1         192.168.199.235       DNS      289    Standard query response 0x9f1c A www.a.shifen.com A 180.101.49.12 A 180.101.49.11 NS ns3.a.shifen.com NS ns4.a.shifen.com NS ns5.a.shifen.com NS ns1.a.shifen.com NS ns2.a.shifen.com A 61.135.165.224 A 220.181.33.32 A 112.80.255.253 A 14.215.177.229 A 180.76.76.95 OPTFrame 6: 289 bytes on wire (2312 bits), 289 bytes captured (2312 bits) on interface wlp4s0, id 0
Ethernet II, Src: HIWIFI_65:b0:40 (d4:ee:07:65:b0:40), Dst: Chongqin_e1:18:a9 (40:23:43:e1:18:a9)
Internet Protocol Version 4, Src: 192.168.199.1, Dst: 192.168.199.235
User Datagram Protocol, Src Port: 53, Dst Port: 36025
Domain Name System (response)Transaction ID: 0x9f1cFlags: 0x8180 Standard query response, No error1... .... .... .... = Response: Message is a response  #DNS回复.000 0... .... .... = Opcode: Standard query (0).... .0.. .... .... = Authoritative: Server is not an authority for domain # 非权威应答.... ..0. .... .... = Truncated: Message is not truncated.... ...1 .... .... = Recursion desired: Do query recursively.... .... 1... .... = Recursion available: Server can do recursive queries #服务支持递归查询.... .... .0.. .... = Z: reserved (0).... .... ..0. .... = Answer authenticated: Answer/authority portion was not authenticated by the server.... .... ...0 .... = Non-authenticated data: Unacceptable.... .... .... 0000 = Reply code: No error (0)Questions: 1Answer RRs: 2Authority RRs: 5Additional RRs: 6Querieswww.a.shifen.com: type A, class INName: www.a.shifen.com[Name Length: 16][Label Count: 4]Type: A (Host Address) (1)Class: IN (0x0001)Answerswww.a.shifen.com: type A, class IN, addr 180.101.49.12www.a.shifen.com: type A, class IN, addr 180.101.49.11Authoritative nameserversa.shifen.com: type NS, class IN, ns ns3.a.shifen.coma.shifen.com: type NS, class IN, ns ns4.a.shifen.coma.shifen.com: type NS, class IN, ns ns5.a.shifen.coma.shifen.com: type NS, class IN, ns ns1.a.shifen.coma.shifen.com: type NS, class IN, ns ns2.a.shifen.comAdditional recordsns1.a.shifen.com: type A, class IN, addr 61.135.165.224ns2.a.shifen.com: type A, class IN, addr 220.181.33.32ns3.a.shifen.com: type A, class IN, addr 112.80.255.253ns4.a.shifen.com: type A, class IN, addr 14.215.177.229ns5.a.shifen.com: type A, class IN, addr 180.76.76.95<Root>: type OPT[Request In: 5][Time: 0.013373576 seconds]

DNS抓包分析--wireshark相关推荐

  1. UDP协议抓包分析 -- wireshark

    UDP协议抓包分析 – wireshark UDP是User Datagram Protocol用户数据报协议的简称.他是OSI七层模型中一种无连接的传输层协议,提供面向事务的简单的不可靠信息传送服务 ...

  2. 视频教程-2019版抓包分析-Wireshark从入门到精通【进阶篇】-其他

    2019版抓包分析-Wireshark从入门到精通[进阶篇] G-LAB IT实验室创始人.知名讲师.同时拿到路由交换.网络安全.数据中心3个方向的CCIE专家级别认证.教学风趣幽默,广受学员好评 郭 ...

  3. DHCP数据抓包分析--wireshark

    DHCP数据抓包分析–wireshark DHCP-(Dynamic Host Configuration Procotol,动态主机配置协议),是一个局域网的网络协议,主要用于给内部网络或网络服务供 ...

  4. ICMP协议抓包分析-wireshark

    ICMP协议抓包分析-wireshark ICMP- (Internet Control Message Protocol,网际报文协议)是Internet协议族的核心协议之一,也可称为是网际控制报文 ...

  5. TCP协议抓包分析 -- wireshark

    TCP协议抓包分析 – wireshark TCP- (Transmission Control Protocol,传输控制协议)是一种面向连接的.可靠的.基于IP的传输层协议.它的主要目的就是为数据 ...

  6. 互联网协议IP抓包分析 -- wireshark

    互联网协议IP抓包分析 – wireshark 互联网协议IP是Internet Protocol的缩写,中文缩写是网协 互联网协议也就是为计算机相互连接进行通信而设计的协议. IP地址协议报文首部 ...

  7. ARP协议抓包分析 -- wireshark

    ARP协议抓包分析 – wireshark ARP- Address Resolution Protocol协议,即地址解析协议.该协议功能就是将IP地址解析成MAC地址. 在发送数据的时候,只知道目 ...

  8. Wireshark数据抓包分析——网络协议篇

    Wireshark数据抓包分析--网络协议篇 Wireshark是目前最受欢迎的抓包工具.它可以运行在Windows.Linux及MAC OS X操作系统中,并提供了友好的图形界面.同时,Wiresh ...

  9. 网络:抓包分析dns的原理

    DSN理论 DNS是什么 在互联网上有多达到上亿的设备,而这些设备之间互相联通网络,每一台主机都需要一个唯一的标识符(就像是我们每个人都有一张身份证),而这个标识符就是IP地址,由于IP地址是数字,不 ...

最新文章

  1. Oracle中的单值函数
  2. Explore Optimization
  3. 深入理解JVM(2)——GC算法与内存分配策略
  4. Webstorm修改svn时提示Error relocating working copy:Server SSL certificate rejected
  5. 机器学习与python实战(一)-k近邻
  6. oracle表单独创建完成之后,在加备注语法
  7. 敏捷开发 —— TDD(测试驱动开发)
  8. Zeppelie连接jdbc的使用
  9. 一个奇妙、离奇的算法题
  10. ezd格式文件怎么打开_支持EZD文本格式的软件,想要打开DXF文本格式,怎样把它改成EZD文本格式...
  11. RFID全面梳理(超高频)
  12. python提取图片中的曲线_如何从fits图像中提取点扩散函数?
  13. xamarin.forms之 button图片位置的设置
  14. 实时日志/数据库采集处理,实时用户行为属性个人总结
  15. 没有公网IP,快速免费内网穿透
  16. 今日头条(java后台开发)——实习生面试
  17. office运行时错误,部分系统文件可能丢失或已损坏(错误代码:0x80040154)
  18. Lect2 Java 中的 Interface
  19. kindeditor 自定义上传图片
  20. ATF启动(五):服务注册

热门文章

  1. Multi Dimension 数据库设计
  2. hdu 1227(二维dp)
  3. php连接MYSQL(1)
  4. HDU 1561 The more ,The Better
  5. 用 Python 分析了 20 万场吃鸡数据,看看玩家群体是怎么样的
  6. 核心概念 —— 门面(Facades)
  7. Javascript 面向对象编程初探(一)--- 封装
  8. 解方程(codevs 3732)
  9. ASP.Net MVC的学习
  10. 纯CSS3画出小黄人并实现动画效果