用winpcap实现局域网DNS欺骗之二(DNS包的包结构)

原创 2006年05月23日 17:07:00

晕了,刚才写着写着死机了,没保存,郁闷

再写一次

          随便转载,转载请注明出处http://blog.csdn.net/leotangcw/

    欢迎大家和我交流Email:tangchengwen@163.com

现在我们来看看如何构造这个DNS包呢:

      要构造包首先要捕获包,因为包中的一些东西我们在构造的时候是需要用到的。那么如何捕获呢?这要看你的局域网使用的交换机种类,如果是一个HUB,就像我们现在寝室楼层的一样,那我们只要把网卡设置成混杂模式就可以捕获到所有包了,因为HUB只会做包广播。关于在这种情况下捕获,你可以参看我前面的文章一步一步尝试在MFC下开发基于winpcap的数据包捕获和分析软件.(开发总结,建议先看)如果是3层(网络层)交换机的话就麻烦一些因为他是通过IP转发的,数据包只会发送到特定的端口。这样你就需要做ARP+DNS欺骗。下回再说,这回先只讨论前一种情况。

     首先我们来看DNS的包结构,我们知道DNS可以通过TCP也可以通过UDP传输,不过实际使用中99%以上使用UDP所以下面只是对DUP的DNS做阐述。DNS包结构是: 以太网头+IP头+UDP头+DNS部分

从以太网头开始:B代表字节

目的MAC(6B)|源MAC(6B)|0x0800(2B表示上层是IP)

IP头:

协议版本和IP头长度(1B)|服务(1B)|IP包长度(2B,去以太网头的长度)|ID号(2B)|标识(1B)|偏移(1B)|TTL(1B)|0x11(上层协议UDP)|IP校验和(2B)|源IP(4B)|目的IP(4B)

UDP头:

源端口(2B)|目的端口(2B)|UDP包长度(2B,去以太网头和IP头)|UDP校验和(2B)

DNS部分:

ID号(2B很重要)|标识(2B)|问题数目(2B)|回答数目(2B)|权威回答数目(2B)|附加数目(2B)|问题字段(长度不定)|回答字段(长度不定)|权威字段(长度不定)|附加字段(长度不定)

问题和回答,权威,附加都是RR记录格式,格式如下:

名字(2B)|类型(2B)|类(2B)|存活时间(4B)|数据长度(2B)|IP地址(4B)

我们本着越简单越好的做法,构造尽量短的回复,所以回答个数为1,权威和附加都为0

如果是请求包,到问题字段就完了,如果是回答,还有构造回答字段。

下面开始构造伪造包:

    以太网部分:交换源和目的的MAC地址

  IP部分:计算修改包长度为你构造的假包IP部分长度,标识改为0x04(不分段),校验和改为你计算的IP首部校验和,交换源和目的IP

UDP部分:交换源和目的端口号,包长度改为你构造的假包UDP部分长度。校验和可以添0x0000或者自己算(是可选字段,不推荐自己算,首先计算费时间,影响发包速度,其次容易算错,我算了3天,老是错,原来要加一个UDP伪头,参考《TCP/IP祥解》)

DNS部分:问题数0x0001,回答数0x0001,权威0x0000,附加0x0000,问题字段直接拷贝,回答字段如下:名字0xc00c,类和类型都是0x0001,时间添长点,长0x0004,IP:你想转向的IP地址

到这里假的应答就伪造好了。

其他工作请听下回分解。吃饭过后再继续写。

用winpcap实现局域网DNS欺骗之三(代码部分及深入研究)http://blog.csdn.net/leotangcw/archive/2006/05/23/751839.aspx

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

用winpcap实现局域网DNS欺骗之三(代码部分及深入研究)

先简要说说代码,这里只有构造DNS回应部分的代码,我还做了网址匹配,也就是说只有别人输入相应的网址才给转向不过出于一些原因就不放上来了。这里的代码只是对所有DNS都转向的代码,你可以自己加完整别的代码...

backtrack5实现局域网DNS欺骗

前言:

dns欺骗需要的winpcap

  • 2012-05-01 21:51
  • 521KB
  • 下载

在局域网用DNS欺骗

  • 2007-11-20 21:56
  • 327KB
  • 下载

winpcap局域网抓包工具http

局域网抓包工具可以抓取局域网所有http响应,需要安装winpcap驱动内有,内有源码,可以合并同一个ack的数据包,还原成一个html明文,下面附上源码mfc // pcapcatchDlg....

局域网内的简单linux DNS搭建

前言: 公司要求在服务器上搭建DNS server,方便客户端设备软件的初始化参数可以写死域名,通过这种方式简化客户端的设置工作量(公司产品形态决定了客户端数量比较大,300+以上的情况比较普遍...

windows下DNS安装包

  • 2014-02-28 10:33
  • 833KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)