Fork me on GitHub

DNS域名系统

一、什么是DNS

  域名系统(Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。DNS协议是用来将域名转换为IP地址(也可以将IP地址转换为相应的域名地址)。

所以总的来说,域名系统就是:

  • 建立IP地址于域名之间的映射关系
  • 将域名解析为IP地址
  • 将IP地址解析为域名

  • client访问server1时,server1中配置了dns服务器,dns服务器中存在各个服务器的域名和ip的映射
  • dns服务器会先进行响应,返回server1的ip
  • client从dns中得到server的ip后,然后访问server1得到响应

二、域名实验

(一)设备参数设置

  • client设置

 

  •  dns设置

  •  server1设置

  •  server2设置

 (二)运行测试

当上面的设备设置完成后,就可以启动设备,打开client运行命令行:

PC>ping www.baidu.com

Ping www.baidu.com [192.168.0.10]: 32 data bytes, Press Ctrl_C to break
From 192.168.0.10: bytes=32 seq=1 ttl=128 time=63 ms
From 192.168.0.10: bytes=32 seq=2 ttl=128 time=31 ms
From 192.168.0.10: bytes=32 seq=3 ttl=128 time=31 ms
From 192.168.0.10: bytes=32 seq=4 ttl=128 time=63 ms
From 192.168.0.10: bytes=32 seq=5 ttl=128 time=46 ms

--- 192.168.0.10 ping statistics ---
  5 packet(s) transmitted
  5 packet(s) received
  0.00% packet loss
  round-trip min/avg/max = 31/46/63 

 可以通过如下的命令进行dns操作:

  • ipconfig/displaydns  查看所有dns
  • ipconfig/flushdns  清空所有的dns
  • nslookup 调试工具

三、抓包实验

通过ping命令进行Wireshark抓包实验:

PC>ping www.baidu.com

Ping www.baidu.com [192.168.0.10]: 32 data bytes, Press Ctrl_C to break
From 192.168.0.10: bytes=32 seq=1 ttl=128 time=47 ms
From 192.168.0.10: bytes=32 seq=2 ttl=128 time=47 ms
From 192.168.0.10: bytes=32 seq=3 ttl=128 time=47 ms
From 192.168.0.10: bytes=32 seq=4 ttl=128 time=47 ms
From 192.168.0.10: bytes=32 seq=5 ttl=128 time=63 ms

--- 192.168.0.10 ping statistics ---
  5 packet(s) transmitted
  5 packet(s) received
  0.00% packet loss
  round-trip min/avg/max = 47/50/63 ms

 可以看到这个命名会先先进行广播arp协议查找dns服务器,然后进行dns协议:

  • 客户端向dns服务器发送dns协议请求,询问www.baidu.com域名的ip
  • dns服务器向客户端进行响应www.baidu.com的ip
  • 然后再进行ping命令的icmp协议

 

posted @ 2022-10-23 11:27  iveBoy  阅读(103)  评论(0编辑  收藏  举报
TOP