通过wireshark这个抓包工具抓取udp协议的报文进行详细的分析。dns默认是基于udp协议的。 访问一个域名的过程中,其实就是会做一个域名解析。域名解析用到的就是dns协议(应用层协议)。
下面就触发dns的流量,抓取报文看下udp协议的实现:
ping一个域名,解析成ip地址,这个过程就会调用dns协议。
下面就是抓包抓到的dns协议:
首先发了个这样的域名请求,然后网关承担域名解析的作用,回应一个这个域名对应的ip地址是什么。
dns协议的默认端口是53端口,源端口是随机的。这个里面没有序号、确认号和标志位都没有。这就是udp协议。
也是基于一个udp协议的,因为是网关给我回的,所以源目ip和源目端口都给我调换过来了,其它的是没有变的。
响应消息里面有一个Answers,就是我给你的一个答案。
从报文可看出进行了一级一级的查找,终于获取到了ip地址。把ip地址告诉了客户端,客户端经过这样的一个过程,客户端得到了ip地址。客户端去ping,都是和ip地址进行的交互。