最新公告
  • 欢迎光临可关玩日记,免费分享生活知识及创业资讯
  • 做网络服务器赚钱吗(服务器挣钱项目)

    做网络服务器赚钱吗(服务器挣钱项目)

    在求职面试的过程中,面试官喜欢考察基础知识。除了数据结构和算法,网络知识也是极其重要的考察工具。

    而网络知识,通常很抽象,不太好理解,有很多同学在这里跌跌撞撞过。为了更好的通过面试,谈一谈举办网络知识大素养节目,谈一谈网络知识最基础的DNS。

    DNS 是什么?

    DNS是域名系统的缩写,也就是域名解析系统。它的功能极其简单,就是根据域名找出对应的IP地址。

    你可以把它看作一个伟大的电话簿。比如,当你要遇到www.163.com这个域名时,你必须先通过DNS找出它的IP地址是112.48.162.8。

    域名的层级

    后面我会讲到DNS的分析过程,你需要对域名的层次结构有所了解。

    根域名 :.root 或者 . ,通常是省略的
    顶级域名,如 .com,.cn 等
    次级域名,如 baidu.com 里的 baidu,这个是用户可以举行注册购置的
    主机域名,好比 baike.baidu.com 里的baike,这个是用户可分配的

    主机名.次级域名.顶级域名.根域名baike.baidu.com.root

    DNS 剖析历程

    我们以遇见域名www.163.com为例,看看遇见www . 163 . com会发生什么:

    先查找内陆 DNS 缓存(自己的电脑上),有则返回,没有则进入下一步
    查看内陆 hosts 文件有没有响应的映射纪录,有则返回,没有则进入下一步
    向内陆 DNS 服务器(一样平常都是你的网络接入服务器商提供,好比中国电信,中国移动)发送请求举行查询,内陆DNS服务器收到请求后,会先查下自己的缓存纪录,若是查到了直接返回就竣事了,若是没有查到,内陆DNS服务器就会向DNS的根域名服务器提议查询请求:叨教老大, www.163.com 的ip是啥?
    根域名服务器收到请求后,看到这是个 .com 的域名,就回信说:这个域名是由 .com 老弟治理的,你去问他好了,这是.com老弟的联系方式(ip1)。
    内陆 DNS 服务器吸收到回信后,照着老大哥给的联系方式(ip1),马上给 .com 这个顶级域名服务器提议请求:叨教 .com 大大,www.163.com 的ip 是啥?
    .com 顶级域名服务器吸收到请求后,看到这是 163.com 的域名,就回信说:这个域名是 .163.com 老弟治理的,你就去问他就行了,这是他的联系方式(ip2)
    内陆 DNS 服务器吸收到回信后,根据先辈的指引(ip2),又向 .163.com 这个权威域名服务器提议请求:叨教 163.com 大大,叨教 www.163.com 的ip是啥?
    163.com 权威域名服务器吸收到请求后,确认了是自己治理的域名,马上查了下自己的小本本,把 www.163.com 的ip告诉了 内陆DNS服务器。
    内陆DNS服务器吸收到回信后,异常地开心,这下总算拿到了www.163.com的ip了,马上把这个新闻告诉了要求查询的客户(就是你的电脑)。由于这个历程对照漫长,内陆DNS服务器为了节省时间,也为了只管不去打扰列位老大哥,就把这个查询效果偷偷地记在了自己的小本本上,利便下次有人来查询时,可以快速回应。

    总结起来,就是三句话:

    从”根域名服务器”查到”顶级域名服务器”的NS纪录和A纪录(IP地址)
    从”顶级域名服务器”查到”次级域名服务器”的NS纪录和A纪录(IP地址)
    从”次级域名服务器”查出”主机名”的IP地址

    DNS的缓存时间

    在上面的步骤中,我们可以看到有两个地方会缓存DNS查询记录。有了缓存,查询效率会有一定程度的提高,但同时也会损失准确性。

    所以我们在设置DNS解析的时候,会有一个TTL参数(生存时间),也就是说这个缓存可以存活多久。过了这个时间,内陆DNS会删除这个记录。删除缓存后,您将不得不再次经历上述过程以获得最新的地址。

    DNS 的纪录类型

    我们在阿里云买域名的时候,可以设置我们的主机域名解析规则,也就是记录。

    阿里云域名云解析

    常见的DNS记录类型如下

    A:地址纪录(Address),返回域名指向的IP地址。
    NS:域名服务器纪录(Name Server),返回保留下一级域名信息的服务器地址。该纪录只能设置为域名,不能设置为IP地址。
    MX:邮件纪录(Mail eXchange),返回吸收电子邮件的服务器地址。
    CNAME:规范名称纪录(Canonical Name),返回另一个域名,即当前查询的域名是另一个域名的跳转,详见下文。
    PTR:逆向查询纪录(Pointer Record),只用于从IP地址查询域名,详见下文。

    DNS 报文结构

    稍后我将使用wireshark来捕获DNS数据包,但在此之前,我必须先了解DNS的消息结构。

    事务 ID:DNS 报文的 ID 标识。对于请求报文和其对应的应答报文,该字段的值是相同的。通过它可以区分 DNS 应答报文是对哪个请求举行响应的。
    标志:DNS 报文中的标志字段。
    问题计数:DNS 查询请求的数目。
    回覆资源纪录数:DNS 响应的数目。
    权威名称服务器计数:权威名称服务器的数目。
    附加资源纪录数:分外的纪录数目(权威名称服务器对应 IP 地址的数目)。

    Wireshark抓包实战

    打开Wireshark后,使用ping 163.com提出DNS解析请求,在Wireshark中使用DNS关键字进行过滤。

    从整体上看捕获的消息,可以大致得到一些信息。

    DNS 是应用层协议,传输层协议使用的是 UDP
    DNS 默认端口是 53

    我把请求和响应消息的截图放在下面,我会一一分析。

    请求

    回复

    Transaction ID

    请求和回复的事务ID应该是一个:0xd0d7。

    Flags

    符号字段有很多内容,每个字段的含义如下:

    QR(Response):查询请求/响应的标志信息。查询请求时,值为 0;响应时,值为 1。
    Opcode:操作码。其中,0 示意尺度查询;1 示意反向查询;2 示意服务器状态请求。
    AA(Authoritative):授权应答,该字段在响应报文中有用。值为 1 时,示意名称服务器是权威服务器;值为 0 时,示意不是权威服务器。
    TC(Truncated):示意是否被截断。值为 1 时,示意响应已跨越 512 字节并已被截断,只返回前 512 个字节。
    RD(Recursion Desired):期望递归。该字段能在一个查询中设置,并在响应中返回。该标志告诉名称服务器必须处置这个查询,这种方式被称为一个递归查询。若是该位为 0,且被请求的名称服务器没有一个授权回覆,它将返回一个能解答该查询的其他名称服务器列表。这种方式被称为迭代查询。
    RA(Recursion Available):可用递归。该字段只泛起在响应报文中。当值为 1 时,示意服务器支持递归查询。
    Z:保留字段,在所有的请求和应答报文中,它的值必须为 0。
    rcode(Reply code):返回码字段,示意响应的差错状态。当值为 0 时,示意没有错误;当值为 1 时,示意报文格式错误(Format error),服务器不能明白请求的报文;当值为 2 时,示意域名服务器失败(Server failure),由于服务器的缘故原由导致没办法处置这个请求;当值为 3 时,示意名字错误(Name Error),只有对授权域名剖析服务器有意义,指出剖析的域名不存在;当值为 4 时,示意查询类型不支持(Not Implemented),即域名服务器不支持查询类型;当值为 5 时,示意拒绝(Refused),一样平常是服务器由于设置的计谋拒绝给出应答,如服务器不希望对某些请求者给出应答。

    Answer RRs

    回复数据包中回复资源记录的数量为2,这表明返回了两个查询结果,您可以在回答字段中看到这一点。

    Authority RRs

    权威名称服务器计数

    Additionnal RRs

    附加资源记录的数量

    Answers

    响应的主要内容,这里返回两个效果,每个效果中的字段有

    DNS 挟制 与 HTTP 挟制

    通过上面的解释,我们都知道DNS已经完成了一个从域名到ip的映射查询,当你遇到www.baidu.com的时候,你可以准确的返回百度首页的IP。

    但是如果这个时候DNS分析出现了一些问题,当你要见www.baidu.com的时候,就会给你www.google.com的ip,也就是我们常说的DNS强制。

    荣耀手表2功能最新曝光(高颜值长续航的手表值得拥有)

    容易与之混淆的是HTTP强制。

    那什么是HTTP强制呢?

    你一定在见网站的时候见过右下角弹出的弹窗广告。这就是HTTP强制。

    借助别人文章里的例子,两者的区别就像

    DNS挟制是你想去机场的时刻,把你给丢到火车站。
    HTTP挟制是你去机场途中,有人给你塞小广告。

    那么DNS劫持人质是怎么发生的呢?

    以下是DNS强制的一些方式:

    1。本地DNS人质

    攻击者通过某种手段使用户电脑感染木马病毒或恶意软件后,恶意修改内陆DNS设置,如修改内陆hosts文件和缓存等。

    2。路由DNS强制

    很多用户默认路由器的默认密码,攻击者可以入侵路由管理员的账号,修改路由器的默认设置。

    3。攻击DNS服务器

    对dns服务器的直接攻击,比如对DNS服务器的DDOS攻击,可以由DNS服务器宕机和异常请求引起,也可以通过一些手段来破坏DNS服务器的缓存,从而将恶意的ip地址返回给用户。

    工具的使用
    dig 下令

    Dig是一个在类Unix命令行模式下查询DNS包括NS记录、A记录、MX记录等相关信息的工具。

    通过dig (parameter: +trace)命令,我们可以看到上面形态的DNS解析的详细过程。

    从退货的效果中,我们可以看到一些信息:

    我们的内陆 DNS 服务器 ip 为 192.168.1.1,端口为53,你可以在 /etc/resolv.conf 里看到这个设置
    根域名服务器现在全球一共只有十三台,从a.root-servers.net. 到m.root-servers.net. ,它们对应的ip地址,已经内置在内陆DNS服务器中。

    如果只是想看看效果,可以用+short参数直接返回www.163.com对应哪个IPS。

    您还可以添加一个@参数来指定该查询由DNS服务器保存。

    如果您只想查看指定的记录类型:

    host 下令

    Host order可以看作是dig order的简化版,返回当前域名请求的各种记录。

    whois下令

    Whois受命检查域名注册情况。

    nslookup下令

    Nslookup也是查询DNS解析效果的常用工具。

    您也可以指定一个公共域名服务器进行查询,如常见的114.114.114.114。

    手动清算内陆缓存

    马科斯

    $ sudo dscacheutil -flushcache$ sudo killall -HUP mDNSResponder

    Windows操作系统

    $ ipconfig /flushdns
    Linux
    # 使用NSCD的DNS缓存$ sudo /etc/init.d/nscd restart# 服务器或者路由器使用DNSMASQ$ sudo dnsmasq restart

    客服微信:(181628402)本文链接:https://www.n5w.com/252731.html