DNSで使用しているプロトコルを教えてください。

14
垢版 |
02/04/03 15:43ID:???
>>13
DNSの応答処理って
DNSから送られてきた応答パケット(とは限らないが)の
受信と解釈のことでしょうか。

オライリーのDNS&BINDの14章2節に、DNS問い合わせと
応答の解析を行うサンプルプログラム(C)が載ってたので
参考になるのでは。
俺はCはよく使わないのでよくわかりませんが(w
14.3にはPerlのNetオブジェクトを使った例もある。
15 
垢版 |
02/04/04 11:38ID:???
ここホントに初級ネット板か???
16 
垢版 |
02/04/07 04:35ID:???
>>15
初級ネットは偽名じゃ。
名前のせいで勘違いして紛れ込んでくる初心者が多いのだが致し方ないことなのだ。
171
垢版 |
02/04/07 19:29ID:RVpV9bj7
>>14
> 応答の解析を行うサンプルプログラム
そんなのが欲しいです...。
やっとこさ、IPまで辿り着ける状態になりましたです。

> Perl
は使った事が無いので、全くわかりません。
C/C++かアセンブラかVBしか出来ません。
18
垢版 |
02/04/08 11:26ID:???
>>17 素直にオライリー買いましょう。\5000也。
19 
垢版 |
02/06/12 16:31ID:???
>>18
第4版は5200円だね。
02/08/18 21:11ID:???
>>1 itteyoshi
02/10/09 16:59ID:???
誘導したのは良いが・・・ 結論が出てなかったのか!!

つーか 本買えで終わってるとは・・・
02/10/09 17:56ID:???
なんか質問スレで呼ばれてる? まぁいいか。

RFCを読んでUDPでパケット投げてみました。
ものすごい勢いで誰かが質問に答えますPart30
http://pc.2ch.net/test/read.cgi/hack/1033381894/991-992
に記載されていたパケットダンプは一部分ですので問題の
個所は理解できません。

02/10/09 18:14ID:???
とりあえず投げるパケットの組み立て。

問い合わせパケット

00 1F :データ長
--ここからヘッダ--
?? ?? :16ビットの適当なID(乱数でOK)
00 00 :QR=0 OPCODE=0 AA=0 TC=0 RD=0 RA=0 Z=0 RCODE=0
00 01 :質問の数(今回は1個なので1)
00 00 :回答の数=当然0
00 00 :NSレコードの数=0
00 00 :追加部の数=0
--ここから質問部-- 今回の内容は mc.kcom.ne.jp
02 6D 63 :ラベルの長さとmcのキャラコード
04 6B 63 6F 6D :ラベルの長さとkcomのキャラコード
02 6E 65 :ラベルの長さとneのキャラコード
02 6A 70 :ラベルの長さとjpのキャラコード
00 :ドメイン終了=ルートに辿り着いた事を表す
00 0F :MXを問い合わせてます(15)
00 01 :問い合わせクラス 01=IN=インターネット

02/10/09 18:37ID:???
回答パケット(オフセットが重要なのでオフセット付きです)
※オフセットは10進数です

-002: 00 9E :データ長 (オフセットマイナスなので注意!)
--ここからヘッダ--
+000: ?? ?? :送ったID(一致を確認すること)
+002: ?? ?? :回答時のフラグ(サーバによって変わります)
+004: 00 01 :質問の数=質問パケットと一致
+006: 00 01 :回答の数=1個
+008: 00 02 :NSレコードの数=2
+010: 00 04 :追加部の数=4
--ここから質問部のコピー--
+012: 02 6D 63 :ラベルの長さとmcのキャラコード
+015: 04 6B 63 6F 6D :ラベルの長さとkcomのキャラコード
+020: 02 6E 65 :ラベルの長さとneのキャラコード
+023: 02 6A 70 :ラベルの長さとjpのキャラコード
+026: 00 :ドメイン終了=ルートに辿り着いた事を表す
+027: 00 0F :MXを問い合わせてます(15)
+029: 00 01 :問い合わせクラス 01=IN=インターネット
02/10/09 18:37ID:???
--ここから回答部--
+031: C0 0C :Name=Offset+0x0C(12)=0xC000+0x0Cの意味(圧縮)
+033: 00 0F :TYPE=15=MXレコード
+035: 00 01 :CLASS=1=IN=インターネット
+037: 00 01 48 23 :TTL=0x00014823
+041: 00 0A :リソースデータ長
--ここからリソースデータ--
+043: 05 6F 72 69 67 31 :ラベル長(05)と'orig1'のキャラクタ
+049: C0 0F : Offset+0x0F(15)(圧縮)
       ただし、これはヘッダからのオフセット

↓これ以降NSレコードと追加部が続く
26
垢版 |
02/10/09 18:50ID:???
一生懸命回答書いてたら遅れを取った。
02/10/09 18:59ID:???
DNSの回答はいちいちFQDN返してると大変なので一部の文字列を
共有しています。(これをRFCでは圧縮と書いてるみたい)

上記例では +031に名前(ホスト名)を書いても良いのですが、ここに
記載されるべき名前はリソースデータの名前(MX問い合わせの回答)と
一致しますので「そこまでの相対アドレス」を書きます。
このように相対アドレスを書く場合は0xC000+ポインタ値を使います。
0xC0で大丈夫な理由は、1つのラベルは63文字以内と定められている
からです。
ポインタはこの値の次を0としますので31+12=43で+043からのラベルと
言うことになります。つまり'orig1'です。
+043から始まるラベルの最後にさらにポインタ0x0Fが有ります。
この様にラベルの最後にあるポインタは「前に定義されたラベル」への
ポインタになります。つまり+015から始まるラベル'kcom.ne.jp'です。
+015から始まるラベルは最後がルートで終わってますので連結は終了です。
これでFQDNである'orig1.kcom.ne.jp'を表しています。
+043からも同じ方法で、NSレコードも全く同じ方法です。
02/10/09 19:01ID:???
>>26
(・∀・)ニヤニヤ あ〜良い所に・・・

>この様にラベルの最後にあるポインタは「前に定義されたラベル」への
>ポインタになります

この訳あってますかね・・・RFC1035だとちょろっとしか出てこないんです。
02/10/09 19:23ID:???
>>25 しまった修正

--ここから回答部--
+031: C0 0C :Name=Offset+0x0C(12)=0xC000+0x0Cの意味(圧縮)
+033: 00 0F :TYPE=15=MXレコード
+035: 00 01 :CLASS=1=IN=インターネット
+037: 00 01 48 23 :TTL=0x00014823
+041: 00 0A :リソースデータ長
--ここからリソースデータ--
+043: 00 0A :Preference=10 ←追加
+045: 05 6F 72 69 67 31 :ラベル長(05)と'orig1'のキャラクタ
+051: C0 0F : Offset+0x0F(15)(圧縮)
       ただし、これはヘッダからのオフセット

↓これ以降NSレコードと追加部が続く
02/10/09 19:24ID:???
>27 修正(中央辺り)

ポインタはこの値の次を0としますので33+12=45で+043からのラベルと
言うことになります。つまり'orig1'です。
+045から始まるラベルの最後にさらにポインタ0x0Fが有ります。
31
垢版 |
02/10/09 19:40ID:???
ちょっとポインタの扱い違うー

オフセット+031で書かれる「NAME」は、資源レコードの、
定義対象のレコード名。なのでこの場合は、 mc.kcom.ne.jp
が求められます。

それでオフセット値は12、これはヘッダ部のIDからのバイト数なので、
回答パケットのオフセット+012からの記述、つまり質問部で使った
mc.kcom.ne.jp を示しています。

また、資源レコードに関しては、まず5文字 'orig1'を記述した後、
オフセット値15を参照であるので、さっき使ったとこの、ちょっと後、
つまり質問部のkcom.ne.jpの部分を示していますね。

オフセットは相対アドレス指定ではなくて絶対アドレス指定ですよん。

32
垢版 |
02/10/09 19:43ID:???
追記

mc.kcom.ne.jp. 82884 IN MX 10 orig1.kcom.ne.jp.
というレコードの内容がすっかり回答部にあるわけです。
02/10/09 19:55ID:???
>>31
あ〜やっぱ そうなんですか。帰りながらもしやと思ってました。

RFCに書いてあった相対パターンはいったい何なんだ?
34
垢版 |
02/10/09 20:25ID:???
>>33

>RFCに書いてあった相対パターンはいったい何なんだ?

え?

差し支えなければ引用あるいはポイントを…
02/10/09 20:32ID:???
ここです
4.1.4. Message compression
最後
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
40 | 3 | F |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
42 | O | O |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
44 | 1 1| 20 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
64 | 1 1| 26 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
92 | 0 | |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

The domain name for F.ISI.ARPA is shown at offset 20. The domain name
FOO.F.ISI.ARPA is shown at offset 40; this definition uses a pointer to
concatenate a label for FOO to the previously defined F.ISI.ARPA. The
domain name ARPA is defined at offset 64 using a pointer to the ARPA
component of the name F.ISI.ARPA at 20; note that this pointer relies on
ARPA being the last label in the string at 20. The root domain name is
defined by a single octet of zeros at 92; the root domain name has no
labels.
02/10/09 20:35ID:???
この最後の、
The root domain name isdefined by a single octet of zeros at 92;
the root domain name has no labels.

オフセット64にフラグ11と26が書いてあり、その先がオフセット92見たいなんです。
これを読んだもんですから、ラベル無し=相対なんじゃないかな?と・・・
でも設定の意味からすると虎さんのが合ってますよね・・・
37
垢版 |
02/10/09 20:46ID:???
F.ISI.ARPA のドメインネームは、オフセット20に示されている。

ドメインネーム FOO.F.ISI.ARPA は、オフセット40で示されている。
この定義では、ラベル「FOO」に続けて、以前に定義された F.FOO.ISI.ARPA
へのポインタを結合している。

オフセット64で定義されているドメイン名 ARPA は、オフセット20にて
既に定義されている F.ISI.ARPAの構成要素へのポインタを利用して定義
されている。
-注) この ARPA を示すポインタは、オフセット20からの文字列の最後のラベル
である

ルートドメイン名は、1オクテットの0でオフセット92で定義されている。
ルートドメイン名は、ラベルを持たない。

てな感じなので、やはし相対指定ではないっすね

オフセット44に、20とか書いてあって、またオフセット64を
例に出してるから解りにくくなるんだなこれは。

日本語変なのはご容赦
38
垢版 |
02/10/09 20:48ID:???
ここで言うルートドメインてのは
末尾の「.」ですね。
02/10/09 20:55ID:???
あ、続きの説明じゃなかったのか!! つーかオフセット戻せよ〜

了解です。

末尾の.はその昔「いえろ」じゃなかった頃かなった頃
ココで質問したけど答えてもらえなかったなぁ〜(笑
40
垢版 |
02/10/10 11:55ID:???
オフセット20からの記述は、このような感じだろうな

+0020:01 'F'
+0022:03 'ISI'
+0026:04 'ARPA'
+0031:00

さてと、オフセット44だの64だのでは、事前に定義されてる
ドメイン名を使って、ドメイン名を圧縮してあるわけだけれど、
オフセット92では、ルートを再定義している。
理屈に合わないわけじゃないよ。
ポインタは2オクテット、ルート定義は1オクテットで済むから
ルートに関しては再定義したほうが低コストなのだ。

ところでこのスレッド一回あげとく?
02/10/10 13:35ID:???
あ゙。わかった・・・
F.ISI.ARPA.
FOO.F.ISI.ARPA.
ARPA.
.
の例だったのか・・・
オフセット64の値が26。オフセット64で2オクテット使ってるから66
66+26=92!! ぴったり92だったんですよ・・・
この例がオフセット96とかだったら勘違いしなかったかも(汗

あ、上げてなかったですね。上げますか。
42
垢版 |
02/10/10 15:01ID:???
元質問者にはこのスレッドを読んでもらえたのだろうか…
02/10/10 15:10ID:???
掲示板はTCPじゃなっくって UDPみたいな物なので
気にしないのが一番かと・・・
44
垢版 |
02/10/10 18:42ID:???
ICMPだってECHOを返すというのに!(w
02/10/11 07:28ID:???
TTLが2とか3だったので届かなかったんでしょう・・・苦笑
46
垢版 |
03/03/31 22:30ID:XktnhCYQ
ssdpってどんなプロトコルですか?
初心者なので簡単にお願いします。
47age2ch
垢版 |
03/05/27 23:53ID:???
>>1
黙れヴァカ
48_
垢版 |
03/06/10 09:38ID:2YdiHJDm
だうりゃっ
03/10/08 20:37ID:???
プロトコルってトルコ風呂に似てるね。(・∀・)
5061
垢版 |
03/11/12 03:18ID:w5CLkmfr
Ehternet、IP、HTTPなど、さまざまなプロトコルがありますが、
これらをOSI基本参照モデル7階層(あぷせとねでぶ)に分けろ、といわれると
わかりません。どう覚えれば・・・・。
聞くとこはここじゃないよ、という場合言ってください。
51_
垢版 |
03/11/13 00:20ID:???
>>61
Ehernet・・・
03/11/25 00:05ID:???
OSIはくわしくしらないけど、、、
TCP/IPではレイヤ1〜4と7しか使ってないよ。。
一般的には、
レイヤ7:HTTP、FTP、TELNET等々
レイヤ4:UDP、TCP、ICMP
レイヤ3:IP
レイヤ2:DLC(ethernet)
レイヤ1:UTPケーブル等規定
こんな感じで。。実際に見て覚えるが早いとおもうけど
フリーのetherealとかでキャプチャしてみれば?
53_
垢版 |
03/12/28 03:46ID:???
そもそもTCP/IPはOSI参照モデルに準拠して実装されたわけじゃないが。と思うがな。
54s
垢版 |
04/02/22 10:17ID:???
テスト
55mo-
垢版 |
05/01/04 00:37:31ID:???
トテリス
05/01/12 18:09:16ID:???
てす
57困っています
垢版 |
05/01/25 02:33:58ID:gPfqaEQu
今ネットをやっていたら急にすべてのページが表示できなくなりました、誰か助けてください!お願いします。ビッグローブです、ルーター、ADSLモデム装備です
58kp
垢版 |
2005/09/26(月) 18:42:05ID:j5U+q5K5
DNSサーバーってJavaでプログラミングできますか?
59ghq
垢版 |
2007/11/11(日) 14:44:11ID:pvu6Erjx
このソフトでIPアドレスを隠すことは出来ますか?

http://www.rikisoft.net/

できれば迷惑メールのプロパティから
DNSサーバーのアドレスを使用できるものでいくつか教えてください。
どうかよろしくお願いします。
2007/11/11(日) 21:50:21ID:???
日本語で聞け
2007/11/13(火) 17:44:20ID:???
まだあったの?このスレッド
2008/01/12(土) 03:20:57ID:???
「Reverse IP」というDNS逆引きサービスをWebアプリで作ってみたいです。

Reverse IP
http://www.domaintools.com/reverse-ip/

どうしてかと言うと、レンタルサーバ(XREA等)でアカウントを取るとき、どのサーバがすいているか調べるためです。
バーチャルドメインを使っているレンタルサーバは、1つのIPアドレス(サーバ)に複数のドメイン名がひも付けされています。
http://www.value-domain.com/xreaip.php

IPアドレスを1個1個手入力して調べるのは大変だと思いました。
PHPでDNS逆引きのWEBアプリを作ろうとしたら、gethostbyaddr()という関数では思ったような結果が得られませんでした。
http://jp2.php.net/manual/ja/function.gethostbyaddr.php

Reverse IPで「210.172.108.229」を検索すると
http://www.domaintools.com/reverse-ip/?hostname=210.172.108.229
のように
There are 611 domains hosted on this IP address.
=611個のドメイン名が対応していると表示されますが、

PHPで
<?php
$ip = "210.172.108.229";
$hostname = gethostbyaddr($ip);
echo $hostname;
?>
というスクリプトを実行すると、
s250.xrea.com
しか表示されません。
これはDNSが1個しかホスト名を返していないのかもしれませんが、なぜReverse IPでは611個という数字が返されるのか仕組みがわかりません。

どうやったらReverse IPと同じようにバーチャルドメインの数を調べるスクリプトが作れるでしょうか?
2008/01/12(土) 03:26:03ID:???
まだあったの?このスレッド
64じゃm
垢版 |
2008/06/03(火) 01:17:47ID:spqELczJ

経路制御プロトコルを開発する場合,どのようなプロトコルを開発しますか?あなたが最も良いと考えるパケットの配送経路について説明し,その様な経路を設定するためにはどうすればよいかを説明しなさい.
2008/06/03(火) 02:05:22ID:???
糞スレ上げんな
2009/02/25(水) 11:53:41ID:???
>>1
ここで質問してみたら?

DNS (Domain Name System) 総合
http://pc11.2ch.net/test/read.cgi/network/1159978850/l50
2009/02/25(水) 17:31:11ID:???
nslookup
2012/01/08(日) 13:20:50.37ID:???
  ∧,,,∧ 
 (  ・∀・) ほー それで
  (  : ) 
  し─J
2012/06/10(日) 15:09:25.34ID:???

  ε ⌒ヘ⌒ヽフ
 (   (  ・ω・) ふむふむ
  しー し─J
2012/09/12(水) 21:01:35.96ID:???
創価氏ね
創価氏ね
創価氏ね
創価氏ね
創価氏ね
創価氏ね 
創価氏ね
創価氏ね
創価氏ね
創価氏ね
創価氏ね 
創価氏ね
創価氏ね 
創価氏ね 
創価氏ね
創価氏ね
創価氏ね
創価氏ね
創価氏ね
創価氏ね
創価氏ね
創価氏ね
創価氏ね
71_
垢版 |
2013/03/09(土) 20:44:57.91ID:???
>>1
おめでとう。
本スレッドは10年と350日をかけて
ついにネットワーク板の最下層まで辿り着きました。
深度は365です。
72名無しさん@いたづらはいやづら
垢版 |
2013/04/04(木) 23:36:23.89ID:TN1ytoVb
へ?
73test
垢版 |
2013/06/23(日) 17:38:23.38ID:+nBgQg9k
test
2013/09/20(金) 10:16:23.57ID:???
ぱぴ
75dig
垢版 |
2013/09/30(月) 01:39:12.53ID:h5L05kpp
nslookupって奥ゆかしいね
2013/10/01(火) 13:18:16.28ID:???
76
77sage
垢版 |
2013/10/07(月) 23:32:21.69ID:???
DNSの名前解決で、「再帰問合せ(recursive query)」と「反復問合せ(iterative query)」の2種類がありますが、なんで再帰と命名したんだろ?…いまいち、ピンと来ません。
スタブ・リゾルバーから見て、どこが再帰的なんだろう?
2019/05/27(月) 18:48:06.56ID:???
2021/11/18(木) 21:10:41.94ID:???
ン゛ン゛!!
2023/07/21(金) 20:18:10.96ID:???
ああお
2023/08/07(月) 02:29:12.35ID:???
ぐぐ」
82名無しさん@いたづらはいやづら
垢版 |
2023/12/13(水) 06:16:53.89ID:yDp00xHa
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況