【问题标题】:Is the value "0" allowed in dns request header as request id?dns请求标头中是否允许值“0”作为请求ID?
【发布时间】:2015-05-07 07:57:59
【问题描述】:

我看过 rfc 1035 的“标题格式”部分,但它只说 id 可以是随机值。现在这个随机值能不能是0,这就是我想知道的。

【问题讨论】:

    标签: dns bind9


    【解决方案1】:

    RFC1035 对事务 ID 没有任何限制,只是它是 16 位长,所以 0 完全没问题。您发送的任何内容都将被复制到响应中。

    为了进一步验证这一点,我检查了下面解析器的源代码,它们似乎都同意 ID 的所有 16 位都是你的。

    • 未绑定:ID 是 0 - 0xffff 之间的任意随机值。
    • ARSoft.Tools.Net:ID 是 0 - 0xffff 之间的任意随机值。
    • Synapse(Delphi 网络库):ID 是 0 - 0xffff 之间的任意随机值。

    【讨论】:

    • 我同意你的看法。那正是我所想。我正在使用 nsupdate 工具发送 dns 请求,并且似乎在某些数据包中,“0”也被接收为请求 ID。我只是想确保我收到的不是格式错误的数据包。你能确认一下nsupdate吗?
    • @ibrararshad:我试图查看 bind9 源代码——其中应该包括 nsupdate——但是我放弃了太多抽象级别,所以我无法确认为了那个原因。不过,RFC 非常清楚。此外,尽管 ARSoft.Tools.Net 或 Synapse 都不是我认为的“参考”来源,但在我看来,Unbound 在这方面与 bind 本身一样好。
    猜你喜欢
    • 2013-04-24
    • 2017-02-02
    • 2023-04-02
    • 2020-05-06
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    • 2017-03-15
    相关资源
    最近更新 更多