| 网站首页 | 产品中心 | 资料中心 | 下载中心 | 图片中心 | 在线提问 | 售前服务 | 售后服务 | 联系我们 | 网站地图 | 

  您现在的位置: 国普科技 >> 资料中心 >> 网络领域资料 >> 网络原理 >> TCPIP资料 >> 文章正文

Windows下DNS ID欺骗的原理与实现
作者:佚名    文章来源:不详    点击数:1534    更新时间:2007-5-18
>  域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换信息。通常,网络用户通过UDP协议和DNS服务器进行通信,而服务器在特定的53 端口监听,并返回用户所需的相关信息。
  一.DNS协议的相关数据结构

  DNS数据报:

  typedef struct dns
{
  unsigned short id;
  //标识,通过它客户端可以将DNS的请求与应答相匹配;
  unsigned short flags;
  //标志:[QR | opcode | AA| TC| RD| RA | zero | rcode ]
  unsigned short quests;
  //问题数目;
  unsigned short answers;
  //资源记录数目;
  unsigned short author;
  //授权资源记录数目;
  unsigned short addition;
  //额外资源记录数目;
}DNS,*PDNS;

  在16位的标志中:QR位判断是查询/响应报文,opcode区别查询类型,AA判断是否为授权回答,TC判断是否可截断,RD判断是否期望递归查询,RA判断是否为可用递归,zero必须为0,rcode为返回码字段。

  DNS查询数据报:

  typedef struct query
{
  unsinged char *name;
  //查询的域名,这是一个大小在0到63之间的字符串;
  unsigned short type;
  //查询类型,大约有20个不同的类型
  unsigned short classes;
  //查询类,通常是A类既查询IP地址。
}QUERY,*PQUERY;

  DNS响应数据报:
typedef struct response
{
  unsigned short name;
  //查询的域名
  unsigned short type;
  //查询类型
  unsigned short classes;
  //类型码
  unsigned int  ttl;
  //生存时间
  unsigned short length;
  //资源数据长度
  unsigned int  addr;
  //资源数据
}RESPONSE,*PRESPONSE;

  二.Windows下DNS ID欺骗的原理

  我们可以看到,在DNS数据报头部的id(标识)是用来匹配响应和请求数据报的。现在,让我们来看看域名解析的整个过程。客户端首先以特定的标识向DNS服务器发送域名查询数据报,在DNS服务器查询之后以相同的ID号给客户端发送域名响应数据报。这时客户端会将收到的DNS响应数据报的ID和自己发送的查询数据报ID相比较,如果匹配则表明接收到的正是自己等待的数据报,如果不匹配则丢弃之。

发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
 
  • 上一篇文章:

  • 下一篇文章:

  •  


        工业和信息化部备案管理系统网站 浙ICP备14003890号 浙公网安备33010602013770号  
     服务热线:+86-571-87396126  18868849222  传真:+86-571-87396125   mail:85021133@163.com  点这里留言
     版权所有:杭州国普科技有限公司. Copyright ©2007-2009 Hangzhou Guopu Technology Co., Ltd.
     销售部地址:杭州市西湖区塘苗路2号1503  邮编310013