dns协议

初学Nslookup

。_饼干妹妹 提交于 2020-02-07 06:33:14
Nslookup 是一个监测网络中 DNS 服务器是否能正确实现域名解析的命令行工具。它在 Windows NT/2000/XP 中均可使用 , 但在 Windows 98 中却没有集成这一个工具。 Nslookup 必须要安装了 TCP/IP 协议的网络环境之后才能使用。 现在网络中已经架设好了一台 DNS 服务器,主机名称为 linlin , 它可以把域名 www.company.com 解析为 192.168.0.1 的 IP 地址,这是我们平时用得比较多的正向解析功能。 检测步骤如下: 与运行 cmd 后在 C:">  的后面键入 Nslookup www.company.com , “ 回车 ” 之后即可看到如下结果:    Server: linlin    Address: 192.168.0.5    Name: www.company.com    Address: 192.168.0.1   以上结果显示,正在工作的 DNS 服务器的主机名为 linlin ,它的 IP 地址是 192.168.0.5 ,而域名 www.company.com 所对应的 IP 地址为 192.168.0.1 。那么,在检测到 DNS 服务器 linlin 已经能顺利实现正向解析的情况下,它的反向解析是否正常呢 ? 也就是说,能否把 IP 地址 192.168.0.1

golang实现dns域名解析(三):响应报文分析

偶尔善良 提交于 2020-02-07 03:53:45
前面说了构造请求发送报文,接下来我们好好研究下如何解析服务器端发回来的应答信息。 首先还是用前面的程序代码发一个请求,用抓包工具看看应答的内容有哪些:   截图的第一部分是返回信息的统计,表明这个返回的包数据包含一个问题, 5 个权威应答, 5 个附加信息。第二部分是问题的内容,第三部分是权威应答的内容,第四部分是附加信息的内容。再往下面就是接收到的原始数据的展示,这里需要提及的一点就是为了减小报文,域名系统使用一种压缩方法来消除报文中域名的重复。使用这种方法,后面重复出现的域名或者 labels 被替换为指向之前出现位置的指针。   指针占用 2 个字节,格式如下: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+-- | 1 1| OFFSET | +--+--+--+--+--+--+--+--+--+--+--+--+--   前两个比特位都为 1 。因为 lablels 限制为不多于 63 个字节,所以 label 的前两位一定为 0 ,这样就可以让指针与 label 进行区分。 (10 和 01 组合保留,以便日后使用 ) 。偏移值 (OFFSET) 表示从报文开始的字节指针。偏移量为 0 表示 ID 字段的第一个字节。   压缩方法让报文中的域名成为:     - 以 0 结尾的

DNS报文分析

烂漫一生 提交于 2020-02-07 03:06:44
所查询的网址为 login.live.com 。 首先是对查询报文的分析 以太网帧头部、IP报头头部和UDP头部略去,从ID字段开始。 ID字段:ID字段就是对报文的一个编号,没有太多的含义。 标识字段:格式如下,下方数字表示bit个数, 对于本报文来说就是0x0100,即 0 0000 0 0 1 0 000 0000 . QR:0表示查询报文,1表示响应报文 Opcode:通常值为0(标准查询),其他值为1(反向查询)和2(服务器状态请求) AA:表示授权回答(authoritative answer) TC:表示可截断的(truncated) RD:表示期望递归 RA:表示可用递归 随后3bit为保留字段, 必须为0 Rcode:返回码,通常为0(没有差错)和3(名字差错) 问题数:此例中为1 回复数:此例中为0,因为是查询报文,自然没有回复。 权威记录个数: 域名DNS分两种,一种是权威域名服务器,域名注册商的服务器都为权威域名服务器;另 一种就是缓存DNS服务器,比如各地ISP上网设置的DNS服务器,它的作用主要是把域名解析结果缓存到本地,方便你查询。还是因为是查询报文,本例中也为0. 额外记录个数:一些额外的记录,具体是什么,我也不太清楚。本例为0,原因同上。 QNAME 地址字段:要查询的网址。地址是变长的字符串,格式为第一个字节为长度,后跟字符,以0结尾。 查询类型

DNS域名解析服务(bind)

谁说我不能喝 提交于 2020-02-06 16:13:36
DNS(Domain Name System,域名系统): 用于管理和解析域名与IP地址对应关系的技术。 简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配(或者说具有映射关系)的IP地址或域名,即将域名解析为IP地址(正向解析),或将IP地址解析为域名(反向解析)。 DNS共分为下面三种类型的服务器: 主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系。 从服务器:从主服务器中获得域名与IP地址的对应关系并进行维护,以防主服务器宕机等情况。 缓存服务器:通过向其他域名解析服务器查询获得域名与IP地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效 DNS域名解析服务采用分布式的数据结构来存放海量的“区域数据”信息,在执行用户发起的域名查询请求时,具有递归查询和迭代查询两种方式 递归查询:DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。 迭代查询:DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。 BIND(Berkeley Internet Name Domain):

浏览器输入URL后发生了什么

蹲街弑〆低调 提交于 2020-02-04 20:59:27
本文转载自公众号 前端迷 总体概览 大体上,可以分为六步,当然每一步都可以详细展开来说,这里先放一张总览图: DNS域名解析 在网络世界,你肯定记得住网站的名称,但是很难记住网站的 IP 地址,因而也需要一个地址簿,就是 DNS 服务器。DNS 服务器是高可用、高并发和分布式的,它是树状结构,如图: 根 DNS 服务器 :返回顶级域 DNS 服务器的 IP 地址 顶级域 DNS 服务器:返回权威 DNS 服务器的 IP 地址 权威 DNS 服务器 :返回相应主机的 IP 地址 DNS的域名查找,在客户端和浏览器,本地DNS之间的查询方式是递归查询;在本地DNS服务器与根域及其子域之间的查询方式是迭代查询; 递归过程: 在客户端输入 URL 后,会有一个递归查找的过程,从浏览器缓存中查找->本地的hosts文件查找->找本地DNS解析器缓存查找->本地DNS服务器查找,这个过程中任何一步找到了都会结束查找流程。 如果本地DNS服务器无法查询到,则根据本地DNS服务器设置的转发器进行查询。若未用转发模式,则迭代查找过程如下图: 结合起来的过程,可以用一个图表示: 在查找过程中,有以下优化点: DNS存在着多级缓存,从离浏览器的距离排序的话,有以下几种: 浏览器缓存,系统缓存,路由器缓存,IPS服务器缓存,根域名服务器缓存,顶级域名服务器缓存,主域名服务器缓存。 在域名和 IP

RHEL7 DNS 服务 unbound 测试

╄→гoц情女王★ 提交于 2020-02-04 11:54:04
一些基本概念解释: 三种邮件协议: SMTP 简单邮件传输协议,用于发送和中转发出的电子邮件,占用服务器的25/TCP端口号。 POP3 第三版邮局协议,用于把邮件存储到本地主机,占用服务器的110/TCP端口号。 IMAP4 第四版互联网信息访问协议,用于在本地主机上访问邮件,占用服务器的143/TCP端口号。 邮件收发服务程序: Postfix 服务程序:基于SMTP协议,提供发件服务功能。 Dovecot 服务程序:基于POP3协议,提供收件服务功能。 MUA-MTA-MDA: MUA 用户代理( M ail User A gent):为用户收发邮件的服务器 MDA 邮件投递代理( M ail Delivery A gent):用于保存用户邮件的服务器 MTA 邮件传输代理( M ail Transfer A gent):转发不同的邮件供应商之间的邮件 =========== 测试环境: 物理机:windows 10 虚拟机软件:oracle VirtualBox 操作系统:RHEL7.4 在安装postfix服务之前,先参考前一篇随笔《 RHEL7 DNS 服务 unbound 测试 》,在服务器上搭建完成DNS服务,并且域名解析正常。 安装配置postfix服务程序: 1、安装postfix服务程序 # yum install postfix 2

使用BIND搭建内部DNS服务

我与影子孤独终老i 提交于 2020-02-03 17:30:55
​​‌‌​​​‌‌​‌​​‌‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌​​‌​​​‌​​​‌‌​‍​‌​‌‌​​​‌‌​​​​​‍​​‌​‌‌‌‌‌‌‌‌​​​‍​‌‌​​‌‌‌​‌‌​​‌‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌‌‌‌‌‌‌‌​​‌‌‍​‌‌​​​​‌​​​​​​​‍​​​‌​‌​‌‌​‌​‌‌‌‍‌​‌‌‌‌​‌‍‌​‌‌​‌‌​‍‌​‌‌​​​‌‍‌​‌‌‌​‌‌‍​​‌‌​‌‌‌‌​‌​​‌​‍​‌​​​​‌​​​​​‌​‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌‌​‌‌‌‌​​​‌​‌‌‌‍‌​‌‌‌​‌‌‍‌​‌‌​​​‌‍‌​‌​‌‌​​‍​​‌‌​​​‌‌‌‌​

【HTTP请求】、详解

倖福魔咒の 提交于 2020-02-02 17:57:37
一、协议介绍   HTTP(HyperText Transfer Protocol,超文本传输协议)是一套计算机通过网络进行通信的规则,使HTTP客户端能够从HTTP服务器端请求到信息和服务,目前的版本号是1.1 是无状态协议,无状态是指从客户端发送HTTP请求到服务器,服务器接收到请求之后做出回应,这样链接就关闭了,在服务器端不需要保留客户端的相关信息。 二、协议过程   HTTP通讯机制是在一次完整的HTTP通讯过程中,客户端和服务器之间建立连接分为以下几个步骤。   1. 建立连接: 其中包括:域名解析,TCP三次握手。     域名解析:将HTTP请求中的域名转化为IP地址,其中主要步骤有,以Chrome为例,访问www.baidu.com     ① 首先,Chrome会搜索浏览器自身的DNS缓存(缓存较少),看自身有没有改域名的IP地址,如果有停止解析返回IP,如果没有继续解析。       注解:Chrome中的DNS可以通过在浏览器中输入 chrome://net-internals/#dns 来进行查看浏览器DNS缓存。          ② 如果在浏览器的自身的DNS缓存中没有找到,那么Chrome会搜索操作系统自身的DNS缓存,如果找到就停止,没有找到继续解析。     注解:可以通过命令行 ipconfig /displaydns 来查看操作系统的DNS缓存

领克安卓车机DNS安装第三方软件

心已入冬 提交于 2020-01-31 23:48:11
领克安卓车机DNS安装第三方软件 域名获取方式 域名格式 关键接口 本来网上已有人搭好了相应DNS,也很方便可以使用的,可惜要付费几十大洋,摸摸口袋没钱只好自个本地搭建一个了。记录下搭建流程,省去同行找域名和文件结构的时间。 域名获取方式 本来不想写这个,因为没合适工具我的方式还是挺麻烦的。但毕竟折腾了那么久 _ 最先想到的是直接查路由器的记录,可惜用的垃圾路由器没这功能 接着是想用Fiddler、Charles之类的软件开代理捕获请求。可惜只有Macbook没法插网线,用蓝牙连接手机蓝牙共享网络,再开热点。可是蓝牙方式没法设置代理,无法捕获。 手机wifi连接电脑代理,然后在用wlan信号桥共享,可惜这种方式只有手机自身的请求能捕获,连接共享的车机请求不行。代理方式应该只针对本机有用,放弃了。 那就用DNS吧,电脑装了个dnsmasq,路由器、手机设置好dns,手机再开信号桥(好像只改路由器也行),车机操作,查日志,找到的域名一个个试,替换成本地服务器地址(本地还得搭个web服务器),看服务器日志拿到请求网址,再去原外网拿相应协议格式 域名格式 域名: api.xchanger.cn 关键接口 /i?app_key=903710721ec3a42d683bbe98f027c897851cd858&timestamp=1580450713906&hour=14&dow=5&tz

通信网笔记

a 夏天 提交于 2020-01-30 00:56:53
应用与分层的体系结构 协议、服务和分层示例 协议的概念:协议是控制两个或多个通信体之间进行交互的一组规则;协议的目的是 提供多种类型的通信服务 。 计算机中的服务器进程监听来自端口的服务请求。**端口就是一个地址,用来表明哪一个进程将要接收发往特定机器的消息。**应用广泛的应用程序都有其服务器指定的公认端口号,以便其他计算机的客户端进程能够容易地按要求发送请求,服务器对这些请求做出响应。 通过万维网进行浏览 通过万维网(WWW)框架我们可以访问已经连接到Internet上的计算机中的文件,这些文件以**超文本标记语言(HTML)**编写而成,可以包括文本、图表和其他媒体格式,并通过文件中的链接互相联系起来。 通过浏览器程序访问Web页,浏览其中所显示的文档,并可以单击链接来访问其他文档。每一个链接都为浏览器提供了 统一资源定位符(URL),URL可以指定存储文档的机器名和包含请求文档的文件名 。 超文本传输协议(HTTP)详细规定了 客户端和服务器端 交互与文件读取有关的规则,这些规则还制定了表达请求和响应时的措辞方式。协议假定客户端和服务器端能够直接交换消息。通常情况下,客户端软件需要在HTTP请求之前建立起双向连接。 从Web上获取文档: 1、用户单机链接,以表明需要获取哪份文档,浏览器必须确定包含此份文档的计算机的网络地址。为此,浏览器要向本地域名服务器发送一个查询。 2