在NAPTR查询中Python怪异的抑扬(^)问题

时间:2017-01-03 19:06:30

标签: python dns escaping dig

我正在使用Python2来实现一个使用dnslib提供NAPTR DNS答案的服务器。

伪造的答案采用以下格式:

0.0.0.0.0.0.0.e164.arpa. 60 IN NAPTR  20 20 "u" "SIP+E2U" "!^.*$!SIP:0000@whatever.0.0.e164!" .

我使用 dig 以使用以下语法执行查询:

dig NAPTR 0.0.0.0.0.0.0.e164.arpa @<server_ip>

问题在于,只要NAPTR记录的正则表达式部分包含抑扬符(^), dig 就会将检索到的数据包标记为格式错误:

;; Got bad packet: syntax error

如果我从字符串中删除了抑扬符号,则会正确检索查询答案。 因此,似乎是以某种方式误解了抑扬。 我试图指定 regexp.encode('utf-8'),但这并没有解决问题。 有什么想法吗?

0 个答案:

没有答案