問題タブ [rfc1035]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dns - DNS サーバーのテスト
私は DNS サーバーを実装していますが、さまざまな機能を正しく実装したことをテストするために使用できるツール (できればオンライン) があるかどうか疑問に思っています。DNS サーバーにさまざまな要求を行い、rfc 1035 仕様に従っていることをテストするために使用できるツール。「参照テストケース」などはありますか? それとも、プロトコルを実装する人々は、英語の自然言語文書を読むだけで、それを読んでいる間は人的ミスを犯さないと信じているのでしょうか? 説明だけでなくテストケースがあれば、標準はより強力になるのではないでしょうか? とにかく、余談ですが、標準に準拠するように DNS サーバーをテストする方法を教えてください。
dns - 追加セクションの CNAME レコード
RFC 1034+1035 では、CNAME レコードによって追加のセクション処理が発生してはならないと規定されています。しかし、追加セクションにチェーンの一部を含む CNAME チェーンを送信する wordpress などのサービスの増加傾向が見られます。そのため、追加のセクションを解析しないと、DNS 応答をデコードできません。
例:
chzallnighter.wordpress.com に注意してください。300 IN CNAME vip-lb.wordpress.com. 追加セクションにあり、それがないと、回答の A レコードに到達できません。
プロバイダーはなぜそのような戦術を使用し、実際に何を購入するのでしょうか?
sockets - DNSメッセージを解読するにはどうすればよいですか?
私は、DNSメッセージを受信し、適切な回答に応答するプログラムを作成しています(Aレコードのみに応答する単純なDNSサーバー)。
しかし、メッセージを受信すると、1035RFCで説明されている形式とは異なります。
たとえば、これはnslookupによって生成されたDNSクエリです。
1035 RFCで定義されているDNSヘッダーとビットについて知っていますが、なぜ16進数にする必要があるのですか?
それらを16進数またはそれらのutf-8に相当するものと見なす必要がありますか?
私の回答もこの形式にする必要がありますか?
python - TCPとScapyを使用してDNS要求に長さプレフィックスを追加します
DNSに関するRFC1035には、次のように書かれています。
4.2.2。TCPの使用
TCP接続を介して送信されるメッセージは、サーバーポート53(10進数)を使用します。メッセージの前には、2バイト長のフィールドがあり、2バイト長のフィールドを除いてメッセージの長さが示されます。この長さフィールドにより、低レベルの処理でメッセージの解析を開始する前に完全なメッセージを組み立てることができます。
TCPでDNS要求を送信したいのですが、DNS要求の前にこれらの2バイトを追加する方法がわかりません。私はそのコードで試してみます:
しかし、私のパケットは、DNS層のない単純なTCPパケットのように解釈されます。
DNSリクエストの前にこれらの2バイトのプレフィックスを追加するアイデアはありますか?
ありがとうございました !
dns - DNS ラベルに 63 バイトの制限が課されるのはなぜですか?
DNS rfc 1035 は、各 DNS ラベルに 63 バイトの制限を課し、DNS 名の合計の長さが 255 バイトを超えてはなりません。DNS ラベルに 63 バイトの制限が課されるのはなぜですか? システムは無制限のラベル長をどのようにサポートできますか?
ありがとう。
python - Python を使用してドメイン名が RFC 1035 に準拠していることを検証するにはどうすればよいですか?
「想定された」ドメイン名を受け取り、RFC 1035 に従って検証するコードを作成しようとしています。たとえば、次のルールを満たす必要があります。
- ドメインは合計 253 文字以下で構成されます
- ドメイン文字セット
[a-z0-9\-]
のみ (入力時にドメインを小文字にします) - ドメインに 2 つの連続したダッシュを含めることはできません (例:
google--com.com
) - サブドメインの最大数は 127 です
さまざまな Python モジュール (例: tldextract) を検索しましたが、役に立ちませんでした。
ドメイン名が RFC 1035 に準拠していることを確認するにはどうすればよいですか?
dns - QD は DNS RFC1035 で何を表していますか
DNSのRFCの特定の変数部分の命名法に興味がありました: https://www.ietf.org/rfc/rfc1035.txt
他のほとんどの頭字語を見つけることができましたが:
- ANCOUNT の AN はAn swowの略のようです
- NSCOUNTのNSはName Server の略です。
- ARCOUNTのARは、Additional Recordを表します。
「 QD COUNT」の「 QD 」は何を表しているのだろう?
dns - RFC 1035 ヘッダー構造
私はdnsについて勉強していて、完全に理解できなかったので、この情報について理解したいと思っています。
ヘッダーには次のフィールドが含まれます。
一番上のこの数字が何を意味するのか知りたいです。