当前位置: 技术问答>linux和unix
[求]菜鸟求程序思路,多谢!
来源: 互联网 发布时间:2016-07-04
本文导语: 我想做的是: 假设知道一个服务器地址为:192.168.10.188,并且这个服务器是一个DNS的服务器。 在程序中,我发送一个DNS请求到这个ip地址,然后监听这个ip看DNS是否回复,并且设置一个...
我想做的是:
假设知道一个服务器地址为:192.168.10.188,并且这个服务器是一个DNS的服务器。
在程序中,我发送一个DNS请求到这个ip地址,然后监听这个ip看DNS是否回复,并且设置一个定时器,如果超时则重传,设置一个最大重传次数。
想请大家给我一些思路,有例子就更好了!多谢大家阿!!!
假设知道一个服务器地址为:192.168.10.188,并且这个服务器是一个DNS的服务器。
在程序中,我发送一个DNS请求到这个ip地址,然后监听这个ip看DNS是否回复,并且设置一个定时器,如果超时则重传,设置一个最大重传次数。
想请大家给我一些思路,有例子就更好了!多谢大家阿!!!
|
初始化一个sock_addr 192.168.10.188 53(DNS)
创建一个UDP套接字
填写数据
send:
sendto( .... )
m = select( .....)
if(m == 0) // timeout
goto send;
recvfrom( ... )
创建一个UDP套接字
填写数据
send:
sendto( .... )
m = select( .....)
if(m == 0) // timeout
goto send;
recvfrom( ... )
|
http://www.5dmail.net/html/2007-3-14/2007314191552.htm
写socket,也就是tcp,udp两种模型,网上N多,套格式就是了。
关键是你要搞清楚,DNS是udp还是tcp.
写socket,也就是tcp,udp两种模型,网上N多,套格式就是了。
关键是你要搞清楚,DNS是udp还是tcp.
|
DNS使用TCP 53端口, 查看一下应用层DNS包的格式, 照着里面填数据就好了