1

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')を指定しようとしましたが、問題は解決しませんでした。何か案は?

4

0 に答える 0