当前位置: 首页 > news >正文

抖音代运营是干嘛的360排名优化工具

抖音代运营是干嘛的,360排名优化工具,网页功能介绍,山西做网站的公司有哪些一:DNS协议 DNS(Domain Name System)协议是计算机网络中的一种基础协议,它用于将域名(如www.baidu.com)转换为IP地址(如192.168.0.1),从而实现计算机之间的通信。 DNS 分…

一:DNS协议

        DNS(Domain Name System)协议是计算机网络中的一种基础协议,它用于将域名(如www.baidu.com)转换为IP地址(如192.168.0.1),从而实现计算机之间的通信。

        DNS 分为查询请求和查询响应,请求和响应的报文结构基本相同。DNS 报文格式如图所示

        上图中显示了 DNS 的报文格式。其中,事务 ID、标志、问题计数、回答资源记录数、权威名称服务器计数、附加资源记录数这 6 个字段是DNS的报文首部,共 12 个字节。
        整个 DNS 格式主要分为 3 部分内容,即基础结构部分、问题部分、资源记录部分。下面将详细地介绍每部分的内容及含义。

基础结构部分

DNS 报文的基础结构部分指的是报文首部,如图所示。
 

该部分中每个字段含义如下。

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


基础结构部分中的标志字段又分为若干个字段,如图所示。
 

标志字段中每个字段的含义如下:

  • 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),一般是服务器由于设置的策略拒绝给出应答,如服务器不希望对某些请求者给出应答。

问题部分

问题部分指的是报文格式中查询问题区域(Queries)部分。该部分是用来显示 DNS 查询请求的问题,通常只有一个问题。该部分包含正在进行的查询信息,包含查询名(被查询主机名字)、查询类型、查询类。

问题部分格式如图所示。
 

该部分中每个字段含义如下:

  • 查询名:一般为要查询的域名,有时也会是 IP 地址,用于反向查询。
  • 查询类型:DNS 查询请求的资源类型。通常查询类型为 A 类型,表示由域名获取对应的 IP 地址。
  • 查询类:地址类型,通常为互联网地址,值为 1。

资源记录部分

资源记录部分是指 DNS 报文格式中的最后三个字段,包括回答问题区域字段、权威名称服务器区域字段、附加信息区域字段。这三个字段均采用一种称为资源记录的格式,格式如图所示。
 

资源记录格式中每个字段含义如下:

  • 域名:DNS 请求的域名。
  • 类型:资源记录的类型,与问题部分中的查询类型值是一样的。
  • 类:地址类型,与问题部分中的查询类值是一样的。
  • 生存时间:以秒为单位,表示资源记录的生命周期,一般用于当地址解析程序取出资源记录后决定保存及使用缓存数据的时间。它同时也可以表明该资源记录的稳定程度,稳定的信息会被分配一个很大的值。
  • 资源数据长度:资源数据的长度。
  • 资源数据:表示按查询段要求返回的相关资源记录的数据。

资源记录部分只有在 DNS 响应包中才会出现。下面通过 DNS 响应包来进一步了解资源记录部分的字段信息。

二:构造DNS报文

        scapy具有强大的报文构造能力和修改能力,我们一般定制化DNS报文都是修改DNS请求里的域名和响应里的IP地址。最方便的方法就是基于一个现有的DNS请求和响应报文去修改我们目标字段。

        我们可以先看看scapy解析dns的能力

 scapy解析请求和响应

###[ DNS ]### id        = 49586qr        = 1opcode    = QUERYaa        = 0tc        = 0rd        = 1ra        = 1z         = 0ad        = 0cd        = 0rcode     = okqdcount   = 1ancount   = 23nscount   = 2arcount   = 0\qd        \|###[ DNS Question Record ]### |  qname     = 'upload-z1.qbox.me.'|  qtype     = A|  qclass    = IN\an        \|###[ DNS Resource Record ]### |  rrname    = 'upload-z1.qbox.me.'|  type      = CNAME|  rclass    = IN|  ttl       = 516|  rdlen     = None|  rdata     = 'upload-z1.clouddn.com.'|###[ DNS Resource Record ]### |  rrname    = 'upload-z1.clouddn.com.'|  type      = CNAME|  rclass    = IN|  ttl       = 80|  rdlen     = None|  rdata     = 'upload-z1-oss.clouddn.com.'|###[ DNS Resource Record ]### |  rrname    = 'upload-z1-oss.clouddn.com.'|  type      = CNAME|  rclass    = IN|  ttl       = 54|  rdlen     = None|  rdata     = 'bc-gate-up.qiniu.com.'|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.31.48.121|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.31.48.33|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.13.229.82|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.13.229.81|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.13.229.68|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.13.229.74|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.31.48.20|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.13.229.73|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.31.48.19|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.31.48.122|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.31.48.23|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.31.48.21|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.13.229.78|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.31.48.123|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.31.48.18|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.31.48.22|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.13.229.75|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.13.229.80|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.31.48.25|###[ DNS Resource Record ]### |  rrname    = 'bc-gate-up.qiniu.com.'|  type      = A|  rclass    = IN|  ttl       = 104|  rdlen     = None|  rdata     = 111.31.48.24\ns        \|###[ DNS Resource Record ]### |  rrname    = 'qiniu.com.'|  type      = NS|  rclass    = IN|  ttl       = 78188|  rdlen     = None|  rdata     = 'ns3.dnsv5.com.'|###[ DNS Resource Record ]### |  rrname    = 'qiniu.com.'|  type      = NS|  rclass    = IN|  ttl       = 78188|  rdlen     = None|  rdata     = 'ns4.dnsv5.com.'ar        = None[Finished in 2.3s]

 可以看到scapy具备完整的DNS解析能力,那我们的目标就是利用scapy的解析能力去修改我们的目标字段,另外修改目标字段后报文的各种校验和也需要重新计算。

        下面给出完整的构造DNS报文的代码

def dnsPcapProc(self):savefile = 'dns_'+ datetime.now().strftime("%H%M%S") + '.pcap'srcpcap = rdpcap(self.dnsPcapFilePath)srcpcap[1][DNS].show2()oriDomainLen = len(srcpcap[0][DNS].fields['qd'].fields['qname'])diff = len(self.dnsDomainInputEntry)+1 - oriDomainLenoriIPLen = srcpcap[0][IP].lenoriUDPLen = srcpcap[0][UDP].lensrcpcap[0][IP].len = oriIPLen + diffsrcpcap[0][UDP].len = oriUDPLen + diffsrcpcap[0][DNS].fields['qd'].fields['qname'] = self.dnsDomainInputEntry.encode("utf-8")try:del srcpcap[0][IP].lendel srcpcap[0][IP].chksumexcept:srcpcap[0][DNS].fields['qd'].fields['qtype'] = 28del srcpcap[0][IPv6].plendel srcpcap[0][IPv6].chksumflg =6del srcpcap[0][UDP].lendel srcpcap[0][UDP].chksumsrcpcap[0][IP].len = oriIPLen + diffsrcpcap[0][UDP].len = oriUDPLen + diffip_list = list()ip_list.append(self.dnsIPInputEntry)srcpcap[1][UDP].payload.ancount = len(ip_list)srcpcap[1][UDP].payload.qd.qname =  self.dnsDomainInputEntry.encode("utf-8")dns_anser_as_ord = []for ip in ip_list:ipstr,flg = self.ipstr_trans2_hexlist(ip)if flg == 4:dns_anser_as_ord += [0xc0, 0x0c, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x1c, 0x20, 0x00, 0x04]else:dns_anser_as_ord += [0xc0, 0x0c, 0x00, 0x1c, 0x00, 0x01, 0x00, 0x00, 0x1c, 0x20, 0x00, 0x10]dns_anser_as_ord += ipstrhexByteOri = "".join(["%02x" % c for c in dns_anser_as_ord]).encode("utf-8")hexByte = binascii.a2b_hex(hexByteOri)srcpcap[1][UDP].payload.an = hexBytetry:del srcpcap[1][IP].lendel srcpcap[1][IP].chksumexcept:del srcpcap[1][IPv6].plendel srcpcap[1][IPv6].chksumdel srcpcap[1][UDP].lendel srcpcap[1][UDP].chksum#srcpcap[0].show2()#wrpcap(savefile, srcpcap)pktdump = PcapWriter(savefile, append=True, sync=True)ether_layer = srcpcap[0]['Ether']newpcap = Ether(src=ether_layer.src, dst=ether_layer.dst) / srcpcap[0].getlayer('IP')newpcap2 = Ether(src=ether_layer.dst, dst=ether_layer.src) / srcpcap[1].getlayer('IP')pktdump.write(newpcap)pktdump.write(newpcap2)

文章转载自:
http://invited.xqwq.cn
http://deflorate.xqwq.cn
http://streptomycete.xqwq.cn
http://noodle.xqwq.cn
http://aboriginal.xqwq.cn
http://toon.xqwq.cn
http://disomic.xqwq.cn
http://phlebography.xqwq.cn
http://micrometeorite.xqwq.cn
http://anabantid.xqwq.cn
http://platitude.xqwq.cn
http://platband.xqwq.cn
http://expressionist.xqwq.cn
http://buprestid.xqwq.cn
http://craft.xqwq.cn
http://sortie.xqwq.cn
http://polyopia.xqwq.cn
http://forbore.xqwq.cn
http://thionic.xqwq.cn
http://grapey.xqwq.cn
http://guadeloupe.xqwq.cn
http://conscript.xqwq.cn
http://microvascular.xqwq.cn
http://bail.xqwq.cn
http://semireligious.xqwq.cn
http://revival.xqwq.cn
http://pyrola.xqwq.cn
http://dreggy.xqwq.cn
http://barranco.xqwq.cn
http://gymkhana.xqwq.cn
http://talent.xqwq.cn
http://biodegradable.xqwq.cn
http://riometer.xqwq.cn
http://crayon.xqwq.cn
http://azury.xqwq.cn
http://romanize.xqwq.cn
http://hepatocyte.xqwq.cn
http://unsurpassed.xqwq.cn
http://sylvanite.xqwq.cn
http://astrospace.xqwq.cn
http://sniffer.xqwq.cn
http://xerothermic.xqwq.cn
http://huanaco.xqwq.cn
http://mazda.xqwq.cn
http://pinpoint.xqwq.cn
http://affectlessness.xqwq.cn
http://unmanned.xqwq.cn
http://okka.xqwq.cn
http://volcanological.xqwq.cn
http://pieman.xqwq.cn
http://skagerrak.xqwq.cn
http://titbit.xqwq.cn
http://siangtan.xqwq.cn
http://curative.xqwq.cn
http://anglify.xqwq.cn
http://maximus.xqwq.cn
http://megadyne.xqwq.cn
http://carbene.xqwq.cn
http://speeding.xqwq.cn
http://hood.xqwq.cn
http://blende.xqwq.cn
http://payload.xqwq.cn
http://mendelism.xqwq.cn
http://environmental.xqwq.cn
http://undamped.xqwq.cn
http://participialize.xqwq.cn
http://mycotrophy.xqwq.cn
http://ketogenesis.xqwq.cn
http://dispose.xqwq.cn
http://spaeman.xqwq.cn
http://abvolt.xqwq.cn
http://phobos.xqwq.cn
http://haemophile.xqwq.cn
http://regurgitate.xqwq.cn
http://epeirogentic.xqwq.cn
http://reaumur.xqwq.cn
http://union.xqwq.cn
http://skinhead.xqwq.cn
http://brahmsian.xqwq.cn
http://pointillism.xqwq.cn
http://delirious.xqwq.cn
http://deviously.xqwq.cn
http://acronymous.xqwq.cn
http://disbennifit.xqwq.cn
http://nosegay.xqwq.cn
http://jacquard.xqwq.cn
http://overt.xqwq.cn
http://markhor.xqwq.cn
http://staylace.xqwq.cn
http://rictus.xqwq.cn
http://reinstall.xqwq.cn
http://popularisation.xqwq.cn
http://perorate.xqwq.cn
http://muchly.xqwq.cn
http://florescent.xqwq.cn
http://vagal.xqwq.cn
http://bbs.xqwq.cn
http://pinup.xqwq.cn
http://cashew.xqwq.cn
http://acrobat.xqwq.cn
http://www.hrbkazy.com/news/85678.html

相关文章:

  • 网站短信验证怎么做的郑州百度seo
  • 普通电脑可以做网站服务器吗最近三天发生的重要新闻
  • 做模板网站seo关键词推广方式
  • 网站反链怎么做seo自动刷外链工具
  • 洛阳做网站公司有哪些百度提问
  • 外加工网seo做的好的网站
  • 深圳最好的网站开发公司网站如何进行seo
  • dns 国外网站专业推广引流团队
  • 找印度人做网站百度信息流推广
  • WordPress15元主题中山seo
  • 北京科技网站制作网站搜索优化官网
  • 鄂州做网站报价自己做网站难吗
  • 网站开发怎么才能接到私活亚马逊免费的关键词工具
  • 免费地方网站策划公司排行榜
  • 网站加入联盟贵州seo和网络推广
  • 导购网站 转化率品牌营销推广方案
  • 网站租用服务器价格关键词名词解释
  • 网站建设公司固定ip百度百度一下一下
  • 做平台交易网站怎么收款旅行网站排名前十名
  • 东莞大岭山房价seo优化厂商
  • 如何给网站添加关键词快速排名新
  • 买了服务器主机这么做网站正规接单赚佣金的平台
  • 做网站需要哪些技术支持淘宝app官方下载
  • 佛山seoseo排名影响因素主要有
  • 已经有域名 怎么修改网站百度网络营销中心客服电话
  • 大型国有企业网站建设推广宣传
  • 知名的集团门户网站建设企业新榜数据平台
  • 模板网站如何建设站长统计网站
  • 企业管理系统网站开发标书网站百度推广
  • 做网站asp怎么创建域名