免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6078 | 回复: 10
打印 上一主题 下一主题

[C] 请问发送DNS报文的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-27 15:40 |只看该作者 |倒序浏览
我想自己发送DNS报文,让DNS服务器来解析www.163.com的IP地址:
请看:
我是用UDP协议,
struct sockaddr_in adds;
adds.sin_family=AF_INET;
adds.sin_addr.s_addr=inet_addr("218.85.157.99");//DNS服务器地址
adds.sin_port=htons(53);   //DNS端口号
(我是用最笨的办法来填报文的)
        unsigned char buf[25];
        memset(buf,0,25);
        buf[0]=0x10;
        buf[1]=0;
        buf[2]=0x01;
        buf[3]=0;
        buf[4]=0;
        buf[5]=1;
        buf[6]=buf[7]=0;
        buf[8]=buf[9]=buf[10]=buf[11]=0;
        buf[12]=3;
        buf[13]=buf[14]=buf[15]='w';
        buf[16]=3;
        buf[17]='1';
        buf[18]='6';
        buf[19]='3';
        buf[20]=3;
            buf[21]='c';
        buf[22]='o';
        buf[23]='m';
        buf[24]=0;
我能发送成功,可是收不到回答,请问:我错在哪?

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
2 [报告]
发表于 2012-07-27 16:51 |只看该作者
N年前,写过DNS flood程序,可以搜索一下。

论坛徽章:
1
射手座
日期:2014-08-04 16:49:43
3 [报告]
发表于 2012-07-27 17:34 |只看该作者
一般这种情况
1: 你发错了 或者没有发成功  服务器认不出

2. 你接收有问题....  

你觉得哪个可能性高一点?

论坛徽章:
0
4 [报告]
发表于 2012-07-27 21:06 |只看该作者
用tcpdump或者wireshark跟踪过你发的包吗?看看与标准的DNS查询请求有什么区别。能否发个完整的代码上来?大家帮你看看。

论坛徽章:
0
5 [报告]
发表于 2012-07-27 21:15 |只看该作者
你的包里没有Type和Class。在你的字串后面再加上“00 01 00 01”试试。

论坛徽章:
0
6 [报告]
发表于 2012-07-28 09:01 |只看该作者
chch1970 发表于 2012-07-27 21:15
你的包里没有Type和Class。在你的字串后面再加上“00 01 00 01”试试。

我加了Type和Class,可以接受到数据了,可是收到的里面没有www.163.com的IP地址,
这是为什么?

12 33 81 01 00 01 00 00-00 00 00 00 03 77 77 77
03 31 36 33 03 63 6F 6D-00 00 00 00 00
这是我收到的)

论坛徽章:
1
白羊座
日期:2013-09-18 22:02:26
7 [报告]
发表于 2012-07-28 12:53 |只看该作者
rfc看完了没有?

论坛徽章:
0
8 [报告]
发表于 2012-07-28 23:38 |只看该作者
用tcpdump抓下交互包,用wireshark看看收到的是啥?

论坛徽章:
0
9 [报告]
发表于 2012-07-29 01:49 |只看该作者
搞网络编程的前提是熟悉协议和学会使用工具。建议先把基本功做扎实些。写代码只是具体实现而已。

论坛徽章:
27
CU大牛徽章
日期:2013-03-13 15:15:08CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-09-18 15:24:09CU大牛徽章
日期:2013-09-18 15:24:20CU大牛徽章
日期:2013-09-18 15:24:25CU大牛徽章
日期:2013-09-18 15:24:31CU大牛徽章
日期:2013-09-18 15:24:36CU大牛徽章
日期:2013-09-18 15:24:41CU大牛徽章
日期:2013-09-18 15:24:48CU大牛徽章
日期:2013-09-18 15:24:52处女座
日期:2013-09-27 17:45:43
10 [报告]
发表于 2012-07-29 23:11 |只看该作者
建议用bind的dns库,里面有个函数可以直接发送dns请求
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP