我正在为自己的目的开发一个非常基本的DNS服务器。我理解它的方式,DNS服务器接收包含所请求域名的UDP数据包,并以某种标准格式返回相应的IP。
有一个standard library用于从/向二进制格式读取/写入UDP数据包。但是,在哪里可以找到用于序列化/反序列化DNS请求/响应的C#库?
答案 0 :(得分:17)
开源ARSoft.Tools.Net库包含DNS服务器组件(请参阅documentation)。
您可以直接使用此库,或只使用源作为构建您自己的DNS请求序列化程序的起点。
答案 1 :(得分:3)
据我所知,我找不到一个处理DNS数据包序列化/反序列化的C#库,这意味着你可能需要自己动手。
编辑:我在Code Project上遇到了这个网络数据包嗅探器项目,它可能有你需要的东西。声称能够解析TCP / UDP / DNS
我确实找到了这个非常有用的TCP/IP网站,该网站有一套非常全面的网页描述DNS packet types,包括general message format。
虽然可以从previous SO question获得一些额外的帮助。
答案 2 :(得分:3)
如果你查看维基百科,你会找到所有关于dns协议的RFC的列表,我发现rfc是实现网络协议的最佳方式!
现在dns协议有相当多的rfc,所以我不知道这是读取协议的最佳方式,但是你得到了至少所需的所有信息。
http://en.wikipedia.org/wiki/Domain_Name_System#Internet_standards