创建不同类型的DNS记录的消息

时间:2019-05-24 11:36:03

标签: c++ linux dns

为了工作,我将使用公司制造的软件在两台服务器之间使用DNS记录。主要是SRV,NAPTR和A记录。

要传播信息,我必须创建一种新型消息,该消息将由我们管理所有消息的软件中的功能发送。 我没有创建3种类型的消息“ SRv”,“ NAPTR”“ A”,而是考虑只创建一种类型(对所有DNS记录都是通用的),而一部分消息专用于该类型; NAPTR,A,SRV,MX等。

我想对此消息中所需的字段提出建议,例如,对于每个DNS记录类型,哪些字段是通用的,以便将它们包含在所有消息中,以及哪些字段对每个记录来说都是特殊的? (也许在消息中为每种类型的附加信息(例如NAPTR的前缀和协议)创建一个Data字段)

实际上,对于NAPTR(我只做过一个),我收到了各种变量,例如TTL,zone。 我把每个人都放在流中并用:

更新
system("nsupdate update.txt")

充满oss的文件如下:

update add test.zone 60 NAPTR 10 100 "S" "SIP+D2T" "" _sip._tcp.zone.
send

但是如果有一天我需要新的记录,我想有一个更通用的消息,它适用于各种DNS记录。

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

为解决该问题,我创建了一条消息,分为标题和正文两部分。标头具有RR的所有常见信息,例如TTL,域,类,类型,并且在类型的函数中,我为每个RR创建一个“数据长度”和“数据”字段。例如,NAPTR获得了包含其他字段的数据字段,例如权重,优先级等... 我没有找到更好的主意来分解这些信息。