计算机网络课程设计--DNS中继服务器实验报告.docx

计算机网络课程设计--DNS中继服务器实验报告.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DNS中继服务器实验报告07415 林珅(13) 07140107415 刘磊(18) 07140607415 李鸿(19) 071407系统概述运行环境:windows XP编译: Microsoft visual C++ 6.0使用方法: 使用ipconfig/all,记下当前DNS服务器,例如为使用下页的配置界面,将DNS设置为(本地主机)运行你的dnsrelay程序(在你的程序中把外部dns服务器设为前面记下的)正常使用ping,ftp,IE等,名字解析工作正常系统的功能设计设计一个DNS服务器程序,读入“域名-IP地址”对照表,当客户端查询域名对应的IP地址时,用域名检索该对照表,三种检索结果:检索结果为ip地址,则向客户端返回“域名不存在”的报错消息(不良网站拦截功能)检索结果为普通IP地址,则向客户返回这个地址(服务器功能)表中未检到该域名,则向因特网DNS服务器发出查询,并将结果返给客户端(中继功能)考虑多个计算机上的客户端会同时查询,需要进行消息ID的转换模块划分DNS服务器主模块包含三个子模块,分别如下:命令行参数处理模块:该模块用来处理通过命令行提示符来启动这个DNS服务器时所输入的命令行参数,管理员通过设置不同的参数可以使DNS服务器显示不同程度的提示和调试信息。所以这模块主要是依照输入的参数设置标志数据,以控制最后的各种信息的输出。本地解析模块:本模块是在本DNS服务器本地保存的曾经解析过的或者需要屏蔽额域名和其对应IP信息文件中查找从应用程序来的请求解析的域名,在这个文件中查到需要的域名后取出对应的IP地址,并构造DNS应答数据包返回给发送此DNS域名解析请求的应用程序。外部DNS服务器解析模块:当本地解析失败时,本DNS服务器会调用外部DNS服务器解析模块。此模块将应用程序发送的DNS请求报文转发给外部DNS服务器,然后接收外部服务器返回的应答信息,并根据这个信息给予应用程序相应的DNS应答。三个模块与主模块的关系图如下,主模块调用这三个并列的模块,而本地解析模块调用文件查找子模块:软件流程图主要数据结构unsigned long upDNSaddr = inet_addr(DNS_SVR); //外部DNS地址unsigned short oID,nID,ID = 0,TYPE,CLASS,RDLENGTH,RDATA,flag,qdcount,ancount; // oID,nID,ID为数据报ID// TYPE,CLASS,RDLENGTH,RDATA, flag,qdcount,ancount为报文的相应标志位char initxt[100] = C:\\dns.txt,name[50]; // initxt[100]为配置文件路径,name[50]为保存文件域名或IPint opt = 0,isfind = 0,TTL,len = 0,leng,strlen = 512; //opt为用户选项,isfind标志是否在本地文件找到记录的布尔变量// TTL为生存周期,len 接收的数据报长度,leng发送的数据报长度//strlen为保存接收到的sockaddr的长度WSAData wsaData; //套接口WORD wVersionRequested; //使用的套接口版本 struct sockaddr_in server,from,to,temp; //server用于本地监听DNS数据报,from用于接收外部数据报//to用于发送数据报,temp是保存发送请求的浏览器信息char sendbuf[256],recvbuf[256]; //发送缓存和接收缓存 char *ptr = recvbuf //以ptr的增减来达到在数组中指针移动的效果测试用例以及运行结果测试本地解析功能请求一个本地DNS对照表中已有的某一记录,如2:在本地DNS对照表中找到记录,将相应的IP地址返回给用户:调试信息级别0:dnsrelay调试信息级别1:dnsrelay –d调试信息级别2:dnsrelay –dd 测试中继功能:请求一个本地DNS对照表中没有的记录,如。本地DNS没有找到相应记录,向外部web服务器转发请求,并接收相应的应答报文并转发给用户:调试信息级别0:dnsrelay调试信息级别1:dnsrelay –d调试信息级别2:dnsrelay –dd 测试拦截功能:请求一个不良网站,如:向用户返回IP地址,告知用户“域名不存在”的报错信息:调试信息级别0:dnsrelay调试信息级别1:dnsrelay –d调试信息级别2:dnsrelay –dd请求一个不存在的www域名,如。当外部web服务器找不到相应的域名时返回超时信息,本地DNS服务器将此信息返回给用户。调试信

文档评论(0)

ze122230743 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档