一. 背景
想了解下,日常访问百度到底经历了什么?带着疑惑就进行了一系列的探索
二、抓包
此处使用wireshark抓包所得文件。
三、分析DNS解析
DNS访问顺序
1.dns的访问过程
(以window为例)
浏览器-->window缓存-->hosts文件-->DNS服务
1.1.浏览器(以chrome为例)dns
chrome://net-internals/#dns
1.2 查看Window 缓存,可使用以下命令获取
ipconfig /displaydns > C:\Users\SDWQ\Desktop\1.txt
1.3 hosts文件
C:\Windows\System32\drivers\etc
1.4 DNS服务
Window可使用nslookup解析
使用nslookup解析时发现以下问题
①查看了原因,未指定DNS服务器IP,默认使用首选DNS服务器,而我家装了360安全卫士,导致被“”优化“”
②解决方法:nslookup www.baidu.com 114.114.114.114
14.114.114.114是国内移动、电信和联通通用的DNS,解析成功率相对来说更高,国内用户使用的比较多,速度相对快、稳定,是国内用户上网常用的DNS。8.8.8.8是GOOGLE公司提供的DNS,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用。
>>百度的别名为:www.a.shifen.com
>>对应的ip地址为
182.61.200.6
182.61.200.7
两个ip地址起到灾备和负载均衡的作用
Linux:可以使用dig接卸
Window下若想使用dig工具,可以看以下链接,不再赘述:
https://blog.csdn.net/lhorse003/article/details/71632353
2.DNS协议解析理论知识
2.1. 域名结构
域名系统并不像电话号码通讯录那么简单,通讯录主要是单个个体在使用,同一个名字出现在不同个体的通讯录里并不会出现问题,但域名是群体中所有人都在用的,必须要保持唯一性。为了达到唯一性的目的,因特网在命名的时候采用了层次结构的命名方法。每一个域名(本文只讨论英文域名)都是一个标号序列(labels),用字母(A-Z,a-z,大小写等价)、数字(0-9)和连接符(-)组成,标号序列总长度不能超过255个字符,它由点号分割成一个个的标号(label),每个标号应该在63个字符之内,每个标号都可以看成一个层次的域名。级别最低的域名写在左边,级别最高的域名写在右边。域名服务主要是基于UDP实现的,服务器的端口号为53。
比如:网站的域名 jocent.me
,由点号分割成了两个域名jocent
和 me
,