68user's page 掲示板

Prev< No. 3441〜3480> Next  [最新発言に戻る] [過去ログ一覧]
No. 3441 # 初心者 2003/12/04 (木) 10:15:13
No. 3436 の通りすがりさん、No. 3440 zshさん、 書き込みありがとうございます
  私の環境が違うのかも知れません。下記のように表示されてるので。
Digital UNIX V4.0B (Rev. 564
Digital UNIX Japanese Support V4.0A (rev. 3.1)


で、やっぱりおっしゃるとおり実行したのだけど、だめなんです。
if ( $a == $b )
の、右辺の変数名が、分かりません、とかそう言うエラーが出るので、

結局
@ df=$a - $b
if ($df == 0 )
で、何とかうまくいきました。

ありがとうございました。

No. 3442 # Mule 2003/12/04 (木) 16:54:25
>>3431 68user

こんにちは、Muleです。
すみません、コマンドでtelnet起動、失敗しました(^^;
これが出来たら、結構使えるスクリプトになるかもと思っていたのですが、やはり無理がありますかね...

コード全体の流れとしては、
プロキシのチェックルーチンをよび、flagが立っていればif分岐、という典型的な処理です。

if($flag){

#telnetを起動し、接続元をファイルに記録する処理

}
else{
my $img = 'file.gif';
my $byte = (stat $img)[7];

print "Content-Type: image/gif\n";
print "Content-Length: $byte\n\n";

open IMG,$img;
binmode((binmode(IMG),$|=1)[0]);

print map {$_} <IMG>;

close IMG;

}

やはり、イメージで呼び出すという方式では、FTPで、というのが、現実的でしょうか?

socketと組み合わせれば、なんとかなりそうな気がしていろいろ試してみましたが...上手く行かないものですね。

No. 3443 # 68user 2003/12/04 (木) 19:08:33
>>3442 Mule
わたしは
      http は proxy 経由かもしれないが、ftp や telnet は
      proxy 経由でないことを期待して、クライアント側から
      ftp や telnet でサーバに接続させるように仕向けて、
      IP アドレスを取得する
と思っていたのですが、そうではないようですね。

> コード全体の流れとしては、プロキシのチェックルーチンをよび、
> flagが立っていればif分岐、という典型的な処理です。
「proxy のチェック」というのは公開 proxy サーバかどうかを
調べるため、クライアントの IP アドレスに接続してみる、という
ことですよね。

telnet で接続、というのは
      http://x68000.startshop.co.jp/~68user/unix/pickup?sleep
てな方法でできます。もちろん代わりに Socket を使ってもいいです。
方法はともかく、公開 proxy かどうかの判断はやろうと思えばできます。

で、なぜ
      if($flag){
            #telnetを起動し、接続元をファイルに記録する処理
      }
と proxy チェックルーチンを呼んだ後 ($flag が確定した後) に
もう一度 telnet を実行する必要があるのでしょうか?

      #telnet を起動し、クライアントの IP アドレスに接続。
      #接続できたら $flag=1;

      if($flag){
            #接続元をファイルに記録する処理
            open(LOG, ">log");
            print LOG "$ENV{REMOTE_ADDR} is open proxy\n";
            close(LOG);
      }

とすればよいのではないですか?

No. 3444 # perler 2003/12/04 (木) 20:09:43
>>3439 68user
お返事ありがとうございました。
なるほど、それがperlの仕様なんですね^^
原因がわかりました。

実は
<form action="$ENV{'SCRIPT_NAME'}?para2=data2 method='POST'>
<input type="hidden" name="mode" value="res">
<input type="submit" value="返信">
</form>
とやっていたためPOSTとGETが混在してしまっていたようでした。
この形ではPOSTをGETにかえても成功しませんでした。

管理人さんの助言でこれに気づくことができました。
どうもありがとうございました。

結果だけお伝えしておきます。

method='POST'の場合
          http://xxx.cgi?para2=data2となりmode=resがおくられない。

method='GET'の場合
          http://xxx.cgi?mode=resとなりpara2=data2がおくられない。
でした。

No. 3445 # 68user 2003/12/04 (木) 20:48:29
>>3444 perler
> なるほど、それがperlの仕様なんですね^^
perl とは関係ないです。これは HTML と CGI の領域です。

apache-1.3.29・IE6・Mozilla-1.5 で試した結果、
> method='GET'の場合
> http://xxx.cgi?mode=resとなりpara2=data2がおくられない。
これは正しいです。正確に言うと
    「ブラウザが para2=data2 を送らない」
です。

> method='POST'の場合
> http://xxx.cgi?para2=data2となりmode=resがおくられない。
これは間違いです。標準入力を解析していないだけ、でしょう。


以下の CGI スクリプトを実行し、GET と POST それぞれで
QUERY_STRING と標準入力にどういう値が入っているか確認
してください。

-------
#!/usr/local/bin/perl

print "Content-type: text/html\n\n";

$script_name = $0;
$script_name =~ s|.*/||;

print <<END;
<html><body>
<form action="$script_name?para2=data2" method='GET'>
<input type="hidden" name="mode" value="res">
<input type="submit" value="GET">
</form>
<form action="$script_name?para2=data2" method='POST'>
<input type="hidden" name="mode" value="res">
<input type="submit" value="POST">
</form>
END

print "REQUEST_METHOD=$ENV{REQUEST_METHOD}<br>\n";
print "QUERY_STRING=$ENV{QUERY_STRING}<br>\n";
print "STDIN=\n";
print <STDIN>;

No. 3446 # perler 2003/12/05 (金) 00:22:19
>>3445 68user
お返事ありがとうございました。

なるほど、標準入力を解析しないということがわかりました。
パラメーターを指定しているのにPOSTをつかったのがいけなかったようですね。

またGETをつかってもパラメーターを送らないので素直に違う方法を考えます。

ご教授ありがとうございました。

No. 3447 # Mule 2003/12/05 (金) 16:43:47
>>3443 68user

こんにちは、Muleです。
ご返事、ありがとうございます。

中途半端なコードを書いたせいか、誤解があったようですが、わたしも68user様が言われた、
    
>http は proxy 経由かもしれないが、ftp や telnet は
>proxy 経由でないことを期待して、クライアント側から
>ftp や telnet でサーバに接続させるように仕向けて、
>IP アドレスを取得する

という、まさにそのことを考えております。

proxyのルーチンは、proxy経由かどうかを最初にチェックする為のもので、
httpからのアクセスがproxy経由でなければ、画像を出力し普通に接続元を記録する。
そうでなければ、クライアント側からtelnetでサーバに接続させて、接続元を記録する、という流れです。
FTPと書いたのは、わたしのほうで、FTPを用意し、CGIから出力する画像の参照元に、FTPサーバにある画像を指定して出力させれば、FTPのログに元の接続先が残るのではないかと思うからです。

考え方として、何か大きな間違いをおかしているでしょうか?
ご指摘いただければ、幸いです。

No. 3448 # 68user 2003/12/05 (金) 22:43:43
>>3447 Mule
> そうでなければ、クライアント側からtelnetでサーバに接続させて、
> 接続元を記録する、という流れです。
なるほど。つまり、
>>3442 Mule
のサンプルは、
      接続元 IP アドレスに接続 [*1]
      if ( 接続成功 ){
          クライアント側が telnet でサーバに接続してくるような
          出力を行なう (例えば Location とか)。[*2]
      } else {
          画像を表示
      }
ということですね? もしそうなら納得です。

ただ、*1 の部分は可能ですが、*2 の部分はよほどセキュリティが
甘いブラウザでないと無理なのではないか、と思います。

No. 3449 # Mule 2003/12/06 (土) 00:11:10
>>3448 68user

さっそくのご返事、感謝いたします。

私が考えているのは、68user様のひながたに沿って考えると、最初にtelnetを起動するというのではないです。

たとえば、こんな感じになると思います。

            
            use CGI qw(:standard);
            
            $addr = remote_addr;
            $host = remote_host;
            $host = gethostbyaddr(pack("C4",split /\./,$addr),2) if($host eq '' || $host eq $addr);

            unless($host){
                    クライアント側が telnet でサーバに接続してくるような
                    出力を行なう (例えば Location とか)。
            } else {
                    画像を表示
            }
です。


素朴に疑問なのですが、最初にtelnetを起動して、接続元に接続できるかどうかの判定を行わなければ、理屈的に無理なのでしょうか?

私は、proxy経由のアクセスがあった時にのみ、if文を実行させたいと思うのですが...

No. 3450 # 68user 2003/12/06 (土) 05:31:08
>>3449 Mule
> $host = gethostbyaddr(pack("C4",split /\./,$addr),2) if($host eq '' || $host eq $addr);
逆引きに成功したら (つまりクライアントが FQDN を持って
いたら) proxy 経由でない、逆引きに失敗したら proxy 経由
という判定方法ですね。

これは proxy 判定にはなっていません。なぜなら技術的には、
      「FQDN を持つかどうかと proxy サーバであるかどうか」
は関係がないからです。

後は統計的に
      「proxy サーバは FQDN を持たないケースが多い」
と言えるかどうかですが、特にそういうこともないと思います。
むしろわたしは
      「proxy サーバは FQDN を持つ可能性が高い」
と思います。

> 素朴に疑問なのですが、最初にtelnetを起動して、接続元に
> 接続できるかどうかの判定を行わなければ、理屈的に無理
> なのでしょうか?
理屈的には、100% の精度の proxy 判定は不可能です。
ただ、完璧でなくていいなら、以下のような策はあります。

    1. proxy 特有のヘッダ、例えば以下のようなものが設定されて
          いるか調べる。
              HTTP_PROXY_CONNECTION
              HTTP_SP_HOST
              HTTP_VIA
              HTTP_X_FORWARDED_FOR

          http://taruo.net/e/ などで判定しているのはコレでしょう。
          http://www2s.biglobe.ne.jp/~cru/library/lq/index.html でも
          同様の判定を行っているようです。

          ただし、proxy サーバの管理者が適切に設定すれば、これらの
          ヘッダを渡さないようにすることは可能です。

    2. クライアント側の適当なポートに接続し、公開 proxy か
          どうか (誰でも接続できる proxy かどうか) 判断する。
          例えば 2ch ではこれをやっているんでしょう。
                http://info.2ch.net/guide/faq.html#F5

          ただし、以下のような欠点があります。
              - どのポート番号に接続するかは適当に決めなければならない。
                  全ポートをポートスキャンしていると時間がかかる。
              - あくまで「公開 proxy」かどうかの判定にしか使えない。
                  (世の中の proxy の大多数を占める) 特定のネットワーク内から
                  のみ使用可能な proxy は判定できない。
              - ポートスキャンは反社会的。やりすぎると相手からクレームを
                  付けられる可能性が高い。

    3. telnet・Java Applet などで直接接続させるよう仕向ける。
          詳しくは以下のサイトをどうぞ。
              http://akademeia.info/main/lecture3/tokubetu_IP_nuki.htm
              http://www.nurs.or.jp/~telnet/tips.html
                「telnetプロトコルによるIP抜き」

          ただしこれも反社会的です。いきなりこれをやられたら、
          わたしならそのサイトには二度と行きません。

普通は 1 でやめておくのがいいでしょう。2・3 は真面目な
ページでやるには過激すぎると思います。

No. 3451 # perler 2003/12/06 (土) 06:03:53
質問ではないんで、邪魔だったら消してくださいね。

過去ログを時間が許すままに読んじゃいました。
とってもおもしろかったです^^
まだまだいっぱい残っているので読破しようとおもいます。

言語はたくさん覚えたけど、UNIXには触ったことがないというある意味
希少なプログラマーなのでちょっとわからないこともあるんですけど、
予想するのが楽しいです。

最近のログをみていると応援の書き込みが少なかったので「管理がんばってください」の意味をこめてかきこませていただきました。
お目汚し失礼いたしました。

No. 3452 # Mule 2003/12/06 (土) 12:05:16
大変、参考になりました。

私がproxyのチェックを行う際には、hostが存在するかどうかの他に、以下のような環境変数を配列に入れて、foreach文や正規表現と組み合わせてチェックしています。

@proxy = ("HTTP_CLIENT_IP",
"HTTP_VIA",
"HTTP_CACHE_INFO",
"HTTP_CACHE_CONTROL",
"HTTP_FORWARDED",
"HTTP_X_FORWARDED_FOR","HTTP_SP_HOST",
"HTTP_TE","HTTP_XONNECTION","HTTP_PROXY_CONNECTION",
"HTTP_XROXY_CONNECTION","HTTP_X_LOCKING",
"HTTP_PRAGMA","HTTP_IF_MODIFIED_SINCE","HTTP_PC_REMOTE_ADDR");

この他に、
$ENV{'HTTP_CONNECTION'}を調べ、値がkeep-alive以外であればproxyと...
しかしこの方法では、精度の高いproxyの判定は、厳しいのではないか...というのが現実でした。

最初から言えばよかったのかも知れませんが...というか、上手く説明できなったのですが、
私がやりたかったことは、結局のところ、
imgタグでしかCGIを起動できない環境で、3 ができるかどうかでした。
コードを直接置ける環境での、3のコードは書いたことがありますので、これをイメージをトリガーにした方法で実装できるかどうかが問題でした。
(telnetの自動起動は、いくらでも未然に防げるものの...)

これまでいろいろご教授いただきまして、ありがとうございました。
また書き込みにくるかもしれませんが、暫くは教えていただいた情報を元に試行錯誤してみます。

それでは、よい休日を。

No. 3453 # あかつき 2003/12/09 (火) 15:03:15
みなさん こんにちは。

すごく簡単な質問だと思うのですが、
過去ログを見てもわからなかったため質問いたします。


UNIXコマンドの
compress a 1>/dev/null 2>&1
というコマンドについて。
compress a は、aファイルをcompress形式で圧縮するということはわかるのですが、
1>/dev/null 2>&1 は、どういう処理をしているのかわかりません。

よろしくお願いします。

No. 3454 # 68user 2003/12/09 (火) 15:47:43
>>3451 perler
ありがとうございます。それなりにがんばります :-)

>>3452 Mule
どうもお互い無駄な時間を浪費したように感じます。掲示板で
円滑なコミュニケーションを行うにあたり、質問時にどの程度の
情報を書くべきかについて ご一考ください。

>>3453 あかつき
compress の出力を全て捨てるということです。

http://x68000.startshop.co.jp/~68user/unix/pickup?%A5%EA%A5%C0%A5%A4%A5%EC%A5%AF%A5%C8
http://x68000.startshop.co.jp/~68user/unix/pickup?%2Fdev%2Fnull

No. 3455 # あかつき 2003/12/10 (水) 16:48:23
ご回答ありがとうございました。

すでにまとめてありましたね。
こんどから、もっときちんと調べます。

No. 3456 # Hide 2003/12/10 (水) 17:45:44
大雑把な質問ですがResetConnect関数はどのように使うものなのですか?

No. 3457 # Hide 2003/12/10 (水) 17:47:30
挨拶が抜けましたが、初めて書き込みます。宜しくお願いいたします

No. 3458 # 68user 2003/12/10 (水) 18:00:47
>>3456 Hide
ResetConnect関数とは何ですか? (google でも 6件しか
引っかからないようですけれども)

No. 3459 # Hide 2003/12/10 (水) 18:51:59
一般的な関数でないのでしょうか?
RST送信するんですが・・

No. 3460 # 68user 2003/12/10 (水) 19:21:15
>>3459 Hide
わたしは初めて聞きました。

No. 3461 # だん 2003/12/11 (木) 00:30:36
Bシェルなのですが、tarで標準出力した結果をteeでファイルに出力し
なおかつ、tarの正常、異常を判断したいのですが、どうすればよい
のですか。
tar -cvf /dev/rmt/0m * 2>&1 | tee -a kekka.txt
と行ったのですが、標準出力及びkekka.txtに出力されたのですが、
$?の値が常に「0」の状態です。
標準出力、ファイルへの出力、$?の判定を行えるよにするにはどう
すればよいのですか。

No. 3462 # 68user 2003/12/11 (木) 09:36:55
>>3461 だん
ちゃんとステータスコードを取れるみたいですよ。
    % true | tee -a kekka.txt; echo $?
    0
    % false | tee -a kekka.txt; echo $?
    255

と思ったら、取れるのは csh・tcsh だけで sh (Solaris2.6)・bash は
無理みたいですね。

sh では
    % true && succeed=OK
    % echo $succeed
    % false || succeed=NG
    % echo $succeed

    % true && echo OK | tee -a kekka.txt
    % false || echo NG | tee -a kekka.txt
はいけるのに、
    % true && succeed=OK | tee -a kekka.txt
    % echo $succeed
    % false || succeed=NG | tee -a kekka.txt
    % echo $succeed
は $succeed に値が入らない。なんでだろう。
# サブシェルで実行されるから?

というわけで、Solaris2.6 の sh では
    % (true; echo $? >result) | tee -a kekka.txt
    % cat result
    % (false; echo $? >result) | tee -a kekka.txt
    % cat result
とステータスコードをファイルに保存するというかっこ悪い方法で
実現できました。より美しいやり方を募集中です。

No. 3463 # has 2003/12/12 (金) 01:36:49
>>3462 68user
俺には美しいやり方なんて無理ですが、ファイルじゃないだけなら
% ( true ; rc = $? ) | tee > kekka.txt
てのは?;-)

No. 3464 # has 2003/12/12 (金) 01:43:19
>>3463 has
ああ、すみません、3462をよく読んでませんでした。
68userの言う、&&とか||の処理詳細と(;)の違いは良く知らないんですが、
redhat 9.0のshでは3463のやり方ができたもので。
一応ご報告まで。

No. 3465 # 68user 2003/12/12 (金) 14:16:35
>>3463 has
それだと (〜) の部分はサブシェルが実行することになります。
サブシェルのシェル変数は確かに $rc=1 になるけれど、親の
シェルのシェル変数には影響しないので、結局 (〜) の外から
$rc を参照することはできないと思います。

ちなみに
    a && b は、a のステータスコードが 0 のときのみ b を実行
    a || b は、a のステータスコードが >0 のときのみ b を実行
です。

No. 3466 # capricio 2003/12/12 (金) 17:51:40
はじめまして.
httptalker をしばらく前から愛用しております.
非常に強力なツールで,Webから必要な情報を取得し目的にあわせて加工するなど
の用途でたいへん助かっているのですが,ひとつ質問をさせてください.

パスワードの認証の後でCookieを受け渡す形式のWebSite のデータをGETする
よい方法は,あるでしょうか?
httptalker のScript の中にCookie のやりとりをする機能を埋め込めばよさそう
ですが,わたしにはかなり難しいのです.

No. 3467 # 68user 2003/12/13 (土) 01:25:30
>>3466 capricio
えーっと、お使いのものはこれですか?
    http://x68000.startshop.co.jp/~68user/net/sample/http-client-2.pl
これは解説用のサンプルなので、実際の使用はおすすめしません。

じゃなくて
    http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/bin/httptalker
これをお使いなら、あまりに汚いコードだったので、さきほど少し
書きなおしました。ついでに追加ヘッダを指定できるようにしました。
        % ./httptalker -GET http://example.com/foo/bar -add-header 'Cookie: a=b'
で cookie を送信できます。
    http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/bin/httptalker?rev=1.3&content-type=text/plain
ここからどうぞ。

ただし、これの使用もおすすめしません。テストもしっかりしていないし、
機能面でも劣るからです。

というわけで、できるならば

    - wget (--load-cookies=ファイル名 で cookie を指定できる)
    - LWP モジュール付属 (libnet モジュール) の GET コマンド。
        オプション -H 'Cookie: a=b' で cookie 送信可能。
    - H_HTTP モジュール (http://www.studyinghttp.net/H_HTTP.html)

などを使った方がよいでしょう。

No. 3468 # zsh 2003/12/13 (土) 22:26:50
>>3462 68user
$ ( true | tee -a kekka.txt ) & ; wait $!

・・・・・やっぱり綺麗じゃないですね。

No. 3469 # zsh 2003/12/13 (土) 22:29:33
すみません徹夜明けでボケてました。
吊って来ます・・・

No. 3470 # くに 2003/12/15 (月) 10:32:40
>>3463 has

俺には美しいやり方なんて無理ですが、ファイルじゃないだけなら
% ( true ; rc = $? ) | tee > kekka.txt
てのは?;-)

私は、HP-UXを使用しているのですが、
% ( true ; rc = $? )
と実行するとシステムのシャットダウンになります。
他のOSも同じだと思うのですが、使用するときは注意した方が
良いと思います。

No. 3471 # 68user 2003/12/15 (月) 13:38:04
>>3470 くに
> % ( true ; rc = $? )
> と実行するとシステムのシャットダウンになります。
/etc に PATH が通っていたため /etc/rc が実行されたのではないかと
思います (引数は = と $?)。

sh の変数代入は = の前後に空白を入れてはいけないので、
rc = $? でなく、rc=$? ですね。

No. 3472 # hanzen 2003/12/15 (月) 16:02:20
lsコマンドについて質問です。
lsと実行するとファイル名やディレクトリ名が表示されますが、
ファイル名だけとかディレクトリ名だけとかを表示させたいの
ですが、できるのでしょうか。
manで調べてみたのですが該当するものもありません。
何かと組み合わせてて1行でできないものでしょうか。

No. 3473 # 68user 2003/12/15 (月) 16:06:28
>>3472 hanzen
> lsと実行するとファイル名やディレクトリ名が表示されますが、
> ファイル名だけとかディレクトリ名だけとかを表示させたいの
> ですが
以下のやりとりを参考にしてください。
>>3245 bebe
>>3246 68user

No. 3474 # has 2003/12/16 (火) 01:44:53
>>3465 68user
すみません、勘違いしてました。
3463 でできたと思っていたら、1行ずつ実行したときにセットした
rcの値が表示されただけでした。

>>3470 くに
それは予想していませんでした。
何にせよ紛らわしいのはよくないですね。
気をつけます。

というわけで何かよい方法はないか探してみましたが、
bashだとこういうのがあるみたいです。
(ただしシェルスクリプト内限定らしいですが)

$ echo $BASH_VERSION
2.05b.0(1)-release
$ cat pipetest.sh
#!/bin/bash
true | false | true | false
echo ${PIPESTATUS[@]}
$ ./pipetest.sh
0 1 0 1

あとはこんなん:-<

cp /dev/null kekka.txt ; tail -f kekka.txt &
pid=$! ; command > kekka.txt ; st=$? ; kill $pid
echo $st

No. 3475 # zsh 2003/12/16 (火) 07:02:54
>>3465 68user
恥の上塗り。

いろいろと試してみましたが、
ファイルを作成せずにステータスは取得できそうにありません。
後は作成するファイルが通常のファイルかFIFOかくらいの違いでしょうか?

------
#!/bin/sh
fifo="fifo.$$"
mkfifo -m 600 $fifo

trap "rm -f $fifo" 0 1 2 3 15
( command ; echo $? >$fifo ) | tee kekka.txt &
rtn=`cat $fifo`
echo $rtn

>>3472 hanzen
>>3473 68user
後は
ls -F | grep '/'
とかでしょうか。表示に/がついてしまいますが。

No. 3476 # 2003/12/17 (水) 11:19:43
UNIXでファイルを開かずにファイルの解析を行いたいのですが、
fileコマンドでは実行ファイルなのかどうかなど、詳しいことが
わかりませんでした。
#C言語関連のソースかどうか確認したいのです。

何か、他にいい方法はないでしょうか?
教えていただけるとありがたいですm(__)m

No. 3477 # tomo 2003/12/17 (水) 15:01:54
こんにちは。
以前、こちらで幾らか質問させて頂いた tomo と申します。
今、perlでタイマ処理をする事を考えているのですが、
perlではC言語の様にタイマIDという形で複数のタイマを
識別管理する事は出来ないのでしょうか?

No. 3478 # 68user 2003/12/19 (金) 00:50:36
>>3476
調べたいのは
> fileコマンドでは実行ファイルなのかどうか

> C言語関連のソースかどうか
のどちらですか?

「〜かどうか判定したい」ということなら、何らかの判断基準が
ないと判定できませんので、そこらへんを明確にしてください。

>>3477 tomo
> perlではC言語の様にタイマIDという形で複数のタイマを
> 識別管理する事は出来ないのでしょうか?
C にも perl にもタイマ ID という概念はありません。

そもそも「タイマ ID」とは Win32API (MFC?) のそれですか?

なら、perl で Win32API を利用できるモジュールを探せば
できるでしょうが、あいにく Windows には明るくないので
    http://www.cpan.org
から探してみてください。

No. 3479 # なっち 2003/12/20 (土) 14:14:55
68user 様

UNIXの部屋等、ちょくちょく参考にさせて頂いております。ありがとうございます。

私、現在、DNSまわりのプログラミングを行っておりまして、ネットワークプログラミングの基礎知識の
DNS クライアントを作ってみようのページを、基礎から理解する意味で読ませて頂いたのですが、
この(2)のページ、http://x68000.startshop.co.jp/~68user/net/resolver-2.html
DNSヘッダのフラグの部分の第13〜15bitの3bitがRCODEとなっていますが、これは第13〜16bitの4bit分の
間違いだと思うのですがいかがでしょうか。

細かい部分で申し訳ないのですが、気になりましたのでご報告させて頂きました。お忙しいとは思いますが、
よろしくお願いいたします。

No. 3480 # 68user 2003/12/20 (土) 22:35:38
>>3479 なっち
ご指摘ありがとうございます。修正しました。ついでに
    1…15bit、16…31bit
となっていたものを
    1…16bit、17…32bit
に修正しました。

# http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/org/resolver-2.html

しかし、一般的には MSB を第 0bit とする場合が多いでしょうか?
「詳解TCP/IP Vol.1」では 0〜31bit となっていましたので、
悩むところです。

Prev< No. 3441〜3480> Next  [最新発言に戻る] [過去ログ一覧]