68user's page 掲示板

Prev< No. 3824〜3852> Next  [最新発言に戻る] [過去ログ一覧]
No. 3824 # ユウキ 2004/06/24 (木) 04:44:17
申し訳ないです;少し安易に書き込んでしまいました。。。
単純にPOSTしてみます。深夜なのに申しわけなかったッス

No. 3825 # マツマツ 2004/06/24 (木) 15:55:40
●コメント/アドバイスの程ありがとうございます。
(個人的に多忙な面もあり、有意な内容が書かれていることに対して、
返事が遅れた点は、お許しください)

後追いの記載ですいませんが、使用しているマシンはSUNのSC2000
(OS:Solaris2.4)と、SVR4ベースOSを使ったマシン(ここでは相手側)
です。(LANのスペックは10BASE) <=両者とも今ではかなり古いものですが...。
またあえて言わしていただきますと、下記の3,4が発生するのは
SVR4ベースOSを使ったマシン側です。

> FD=10で送信後そのFD=10で受信するのに、select()からの戻りが数十秒
> (ほとんど決まって、24〜25秒経って)経って検知され、recv()したら
> 返値が0であると言う動作があります。
よく理解できませんが、
        1. send し、select で待つ。
        2. 相手側はデータを受信後、すぐに close しているはず。
        3. ところが select で 24〜25 秒待たされ、その後に読み込み可能になる。
        4. recv すると 0 が返ってくる。
ということであれば、
        a. ネットワークの質が悪く、TCP の再送タイマが働いている
        b. 2 で相手が 24〜25 秒かけて何かを処理してから close している
くらいしか思いつきませんでした。パケットダンプしてみては。

●まずは、LANアナライザーを噛まして見たいと思います。
    ちなみにTCPの再送タイマってものが働いている場合、そのタイマは
    24〜25秒の値なのでしょうか。

>>3822 ユウキ
そんな複雑なプログラムを書くのはやめて、まずは単純に POST する
プログラムを書くべきでしょう。もし、そういうプログラムは既に作成済
ということであれば、うまくいく場合とうまくいかない場合のリクエストを
見比べればわかるでしょう。
●そうですね。(基本的なことから行うべきですね)

No. 3826 # 68user 2004/06/24 (木) 21:05:18
>>3825 マツマツ
> ちなみにTCPの再送タイマってものが働いている場合、そのタイマは
> 24〜25秒の値なのでしょうか。
「詳解 TCP/IP Vol.1」によれば、RTT (往復時間) がほぼ 0 な LAN 上では、
再送間隔は
      1秒・3秒・6秒・12秒・24秒…
で、これを最初の送信からの経過時間で表すと
      1秒・4秒・10秒・22秒・46秒…
だそうです。

ただし RTT にそれなりの時間がかかる場合は、上記の通りには
なりません (計算式が難しくてよくわかりませんが)。

なお、上記の事柄が Solaris 2.4 や、同時代の SVR4 にも当て
はまるかどうかはわかりません。

No. 3827 # マツマツ 2004/06/24 (木) 22:32:53
> ちなみにTCPの再送タイマってものが働いている場合、そのタイマは
> 24〜25秒の値なのでしょうか。
「詳解 TCP/IP Vol.1」によれば、RTT (往復時間) がほぼ 0 な LAN 上では、
再送間隔は
            1秒・3秒・6秒・12秒・24秒…
で、これを最初の送信からの経過時間で表すと
            1秒・4秒・10秒・22秒・46秒…
だそうです。
●ありがとうございます。
(TCP/IPプロトコルについて、技術的な専門知識が分っていないため、
今後は勉強したいと思います。)
で、少々また不仕付けなお話ですみませんが、再送タイマが発生していると
した場合に、その原因/要因には、何があるでしょうか。
”ネットワークの質が悪く、TCP の再送タイマが働いている”
の部分で気になり、どちらかのマシンのHW不調(LANI/Fカードや
CPUボード等)とか、LANケーブル、HUB、トランシーバなどの
不調の影響で発生することとか考えられるでしょうか?。
(パケットトレースで確認することは必要なのですが、発生していると
分った時の発生原因を特定する上で、まず想定できる可能性のものがあれば
と思った次第からです)
(HW回りを疑って見るべきかどうか、何とも言えないのですが...)

ただし RTT にそれなりの時間がかかる場合は、上記の通りには
なりません (計算式が難しくてよくわかりませんが)。

なお、上記の事柄が Solaris 2.4 や、同時代の SVR4 にも当て
はまるかどうかはわかりません。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 3828 # 68user 2004/06/26 (土) 00:30:41
>>3827 マツマツ
パケットを送信した後、一定時間が経過しても ACK が返ってこなければ
再送するわけなので、
> どちらかのマシンのHW不調(LAN・I/FカードやCPUボード等)とか、
> LANケーブル、HUB、トランシーバなどの不調の影響で発生することとか
> 考えられるでしょうか?。
これらすべてがパケット再送の原因となりえます。

No. 3829 # 68user 2004/06/26 (土) 00:43:43
この土日で当ページの引越しを予定しています。しばらく繋がらなかったり
するかもしれませんが、あらかじめご了承ください。

No. 3830 # 68user 2004/06/27 (日) 06:03:01
というわけで引っ越しました。

現時点でわかっている問題点は、
    - 掲示板の全文検索が動かない (準備中)
    - SEGA BBS 過去ログの全文検索が動かない (準備中)
です。この他に変なところがあればご指摘いただけると幸いです。

No. 3831 # 68user 2004/06/28 (月) 01:28:30
>>3830 68user
> - 掲示板の全文検索が動かない (準備中)
一応検索できるようになりました。

No. 3832 # 68user 2004/06/29 (火) 03:06:18
日記。

FreeBSD 5.2.1-RELEASE の /usr/bin/sort は NetBSD の sort から
GNU の textutils の sort に変わってしまったらしい。sort -c
で件数を数えることができなくなってしまった。ショック。

No. 3833 # 68user 2004/06/30 (水) 02:06:52
>>3832 68user
> sort -c で件数を数えることができなくなってしまった。
間抜けな勘違いをしていました。uniq -c と混同してただけでした。
sort も uniq もこれまで通り普通に使えますね。

No. 3834 # マオ猫 2004/06/30 (水) 23:03:44
最近になってTCP/IPの勉強を始めましたが、
    データリンク層
    トランスポート層
    ネットワーク層
の役割に反する実装の実例を挙げろって言われても……
何の事だかさっぱりです。
誰かわかるひといませんか?

No. 3835 # 68user 2004/06/30 (水) 23:19:43
>>3834 マオ猫
> …の役割
は何なのかをまず考えてみるべきでしょう。

ところで素朴な疑問ですが、これってどんな本 or 人 or 試験
からの出題ですか?

No. 3836 # 2004/07/03 (土) 21:41:41
いつも参考にさせてもらってます。
この度、仕事でSSL/TSLに対応したバッチ用のFTPクライアントが必要になったのですが、
Perlで実現できますでしょうか?
いろいろ検索してみたのですが、これといったのが見つからなくて・・・
もし何か知っていましたら、ご教授お願いします。

No. 3837 # 2004/07/03 (土) 21:43:42
ちなみに使用するサーバはRedHat Linux9.0です。

No. 3838 # 68user 2004/07/03 (土) 23:50:56
>>3836
> この度、仕事でSSL/TSLに対応したバッチ用のFTPクライアントが必要になったのですが、
> Perlで実現できますでしょうか?
Perl で「簡単に」行うモジュールはまだないと思います。Perl にこだわるなら
    http://perldoc.jp/docs/modules/IO-Socket-SSL-0.91/SSL.pod
などを使ってがんばるしかないでしょう。

あるいは http://www.perldiscuss.com/thread.php?group=perl.libnet
「Net::FTP versus TLS」のスレッドの人たちに「サンプルくれ!」とお願いする
手もあるかも (もらえたらわたしにもください)。

上記のスレッドでも出ていますが、手抜きするなら lftp (http://lftp.yar.ru/)
SSL/TLS に対応しているようなので、これを system なりで呼び出すのが楽だと思われます。

No. 3839 # 68user 2004/07/04 (日) 01:45:20
FreeBSD 5.2.1-RELEASE に TLS な proftpd をインストールし、lftpd で
接続してみるメモ。OpenSSL は標準でインスールされているが、なぜか
proftpd を make -DWITH_OPENSSL install すると ports の OpenSSL が要求
されるので、まずそれを入れる。

    # cd /usr/ports/security/openssl && make install
    # cp /usr/local/openssl/openssl.cnf.sample /usr/local/openssl/openssl.cnf
    # mkdir /usr/local/openssl/proftpd

鍵作成 (パスフレーズなし)。CSR を作成し、自己認証。

    # cd /usr/local/openssl/proftpd
    # openssl genrsa > key.pem
    # openssl req -new -days 365 -key key.pem -out csr.pem
    # openssl x509 -in csr.pem -out cert.pem -req -signkey key.pem -days 365

ProFTPD のインストール。

    # cd /usr/ports/ftp/proftpd
    # make -DWITH_OPENSSL install
    # mkdir /var/run/proftpd
    # cat <<END >> /usr/local/etc/proftpd.conf
    <IfModule mod_tls.c>
            TLSEngine on
            TLSLog /var/log/proftpd-tls.log
            TLSProtocol TLSv1
            TLSRequired off
            TLSRSACertificateFile /usr/local/openssl/proftpd/cert.pem
            TLSRSACertificateKeyFile /usr/local/openssl/proftpd/key.pem
            TLSVerifyClient off
    </IfModule>

ProFTPD 起動。rc まわりが rcNG になったので、proftpd_enable が必要 (?)

    # echo 'proftpd_enable="YES"' >> /etc/rc.conf
    # /usr/local/etc/rc.d/proftpd.sh start

lftpd で接続テスト。

    # cd /usr/ports/ftp/lftpd && make install
    % lftp -d hoge@localhost
    Password: ***
    lftp hoge@localhost:~> ls
    ---- Connecting to localhost () port 21
    <--- 220 ProFTPD 1.2.10rc1 Server (ProFTPD Default Installation) [hostname]
    ---> AUTH TLS
    <--- 234 AUTH TLS successful
    Certificate depth: 0; subject: /C=JP/ST=XX/O=Internet Widgits Pty Ltd; issuer: /C=JP/ST=XX/O=Internet Widgits Pty Ltd
    WARNING: Certificate verification: self signed certificate
    ---> USER hoge
    <--- 331 Password required for hoge.
    ---> PASS XXXX
    <--- 230 User hoge logged in.
    ---> PWD
    <--- 257 "/usr/home/hoge" is current directory.
    ---> PBSZ 0
    <--- 200 PBSZ 0 successful
    ---> PRET LIST
    <--- 500 PRET not understood
    ---> PASV
    <--- 227 Entering Passive Mode (127,0,0,1,192,51).
    ---- Connecting data socket to () port 49203
    ---> LIST
    <--- 150 Opening ASCII mode data connection for file list
    ---- Closing data socket
    <--- 226 Transfer complete.
    (略)
    lftp hoge@localhost:~>

No. 3840 # 68user 2004/07/05 (月) 01:37:21
どうでもいいんですが、ここ数年モチベーションが低下して、web の
更新が非常に少なくなっていました。

そこで数日前からトップページなどにバナー広告を付けてみました。
      バナー広告を貼る → 収入がっぽり → 更新する気力がわく
ということを夢見ていましたが、3日での収入はなんとびっくり 15円でした。
つまり 1日 5円。月に150円。年に 1800円。

5,000円以上にならないとお金が振り込まれないので、あと 2年半くらい
経ったらわたしは 5,000円手にすることになります。いやーここまで
儲からないものとは。

しかしわたしは変なところで前向きなので、今の 100倍の人が見にきて
くれれば毎日 500円、月に 15,000円も儲かるかと思うと、モチベーション
あがりっぱなしです。というわけで、訪問者を 100倍にする第一歩として、
    web と CGI のひみつ (http://X68000.q-e-d.net/~68user/webcgi/)

    全文検索 (http://X68000.q-e-d.net/~68user/webcgi/search-1.html)
を全面的にリライトしました。

No. 3841 # naisttn 2004/07/05 (月) 15:56:50
サイト更新ありがとうございます。参考にしてます。
全文検索できないのですが。(実行に必要な権限がない。とのこと)
テスト中でしたらすみません。

No. 3842 # 68user 2004/07/05 (月) 16:17:13
>>3841 naisttn
> 全文検索できないのですが。(実行に必要な権限がない。とのこと)
掲示板の全文検索ですね?

namazu.cgi の存在をすっかり忘れてしまい、cgi-bin/wwwboard/ 以下を
閲覧不可に設定してしまいました。本日中に直します。

No. 3843 # 68user 2004/07/05 (月) 19:44:14
>>3841 naisttn
直しました。ご指摘ありがとうございました。

結局 .htaccess を
    # namazu.cgi 以外はアクセス拒否
    SetEnvIf Request_URI "namazu.cgi" IS_NAMAZU
    order deny,allow
    allow from env=IS_NAMAZU
    deny from all
としたのですが、他にわかりやすい書き方ないですかねぇ?

    <Files !~ "namazu.cgi">
        deny from all
    </Files>
とか
    <Files "namazu.cgi">
        <Else>
            deny from all
        </Else>
    </Files>
とか
    <FilesMatch "(?:(?!namazu.cgi).)*">
        deny from all
    </FilesMatch>
とか書けないもんでしょうか。

てゆーか、apache の書式は絶対に腐ってると思う。

No. 3844 # 68user 2004/07/06 (火) 22:07:54
UNIX の部屋
      http://x68000.q-e-d.net/~68user/unix/
を更新しましたが、たいしたことは書いていません。

No. 3845 # ニッタン 2004/07/10 (土) 02:28:05
OpenSSLを使ってC言語でHttpClientを実装する方法を参考にさせて頂きました。
ですがサンプル通りでは、SSL_connect()で-1が返ってきます。
ずっと調べてまして、乱数を作成する時の種を設定しないと行けないみたいです。
それもある程度の長さの種じゃないと駄目なようです。(私の環境では32以上)
今、自宅なのでOpenSSLのバージョンはどれなのか判りませんが、
SSL_connect()するまでに以下の関数のどれかを使うと良い様です。
1、RAND_load_file()
2、RAND_seed()
3、RAND_poll()
一番楽なのは3を使うのが楽ですし、一般的で確実かもしれません。
ちなみにマスタリングTCP/IP SSL/TSL編のサンプルでは1が使われてました。

できれば、「SSL/TLS でアクセスしてみよう」に追記して頂ければ、
今後同じ所で嵌る人が困らないと思います。
お忙しいと思いますが、宜しくご検討下さい。

No. 3846 # 68user 2004/07/10 (土) 03:17:59
>>3845 ニッタン
質問ですが、
    http://search.luky.org/obu/msg02180.html
    http://search.luky.org/obu/msg02181.html
と同じく、/dev/random が存在しない環境でしたか?

No. 3847 # 68user 2004/07/11 (日) 22:58:42
UNIX の部屋
      http://x68000.q-e-d.net/~68user/unix/
を更新しましたが、苦労したわりに内容はいまいちです (m4 とか)。

あと、見栄えをいじりましたが、もし見づらかったら文句言ってください。

No. 3848 # bindユーザ 2004/07/12 (月) 15:04:02
ネームサーバはプライマリとセカンダリを置いて、プライマリが障害の場合セカンダリが応答しますよね。
この仕組みはどのように実現されているのでしょうか?
仮にプライマリがダウンした直後に、プライマリに問い合わせたクライアントがあったとすると、
応答待ちでしばらくするとエラーになりますよね?(自身なし)
しかし、しばらくすると、すべてのクライアントが障害のないセカンダリにのみ問い合わせるようになりますよね?(自身なし)
この間はどのくらいの時間なのでしょうか?
どこかで調整できるのでしょうか?

No. 3849 # ニッタン 2004/07/12 (月) 16:08:20
68userさん、お返事ありがとうございます。
実は、今日会社を休んだ為、OpenSSLのバージョンはまだ判っていませんが、
/dev/randomの件は、マスタリングTCP/IP SSL/TSL編には
少し紹介されてました。

結論から言いますと、多分/dev/randomは存在しない環境かと。
サンプルのソースだとOpenSSLのライブラリー部分で、
/dev/randomに標準でアクセスしに行く様になっているでしたら
現状のサンプルのままでも問題ないかと思います。
(でも一文位あったら親切だな〜っと思ったりもします。お忙しいと思いますが)

プロキシー接続だったので、過去ログではプロキシーでしか検索していませんでした。
結局、プロキシー云々は関係なかったですが。

No. 3850 # 68user 2004/07/12 (月) 18:41:13
>>3848 bindユーザ
> プライマリが障害の場合セカンダリが応答しますよね。
これは誤りで、セカンダリは常にリクエスト・レスポンスの送受信を
しています。

> 仮にプライマリがダウンした直後に、プライマリに
> 問い合わせたクライアントがあったとすると、
タイムアウトすると即座にセカンダリにリクエストを投げると思います。

> すべてのクライアントが障害のないセカンダリにのみ
> 問い合わせるようになりますよね?
ならないです。プライマリにもアクセスし続けます。

以上はキャッシュサーバについての説明です。

通常のマシンはキャッシュサーバにアクセスするだけで、コンテンツ
サーバ (プライマリ DNS サーバやセカンダリ DNS サーバ) に直接
アクセスすることはない、ということに注意してください。

とか言いつつ、わたしは DNS サーバの運営をしたことがないので、
嘘をついているかもしれません。
    http://dns.qmail.jp/server/
をご一読ください。


>>3849 ニッタン
ソースが不十分であることは認識していますので、直します。

# ついでにエラーメッセージの出力が不十分なので、これも
# 直します。

ただ、なぜ RAND_load_file()/RAND_seed()/RAND_poll() しなければ
ならないのかを正確に書きたかったので、質問させていただきました。

今気づきましたが、FAQ にも書いてありますね。
      http://www.openssl.org/support/faq.html#USER1

1週間ほど時間をください。

No. 3851 # hash 2004/07/12 (月) 22:16:23
>>3847 68user
チェックボタンをonにする、ラベル用途のJavaScriptでエラーが出ます。
数年前からだと思うのですが…

私は、Windows2K & ie6ユーザーです。

No. 3852 # 68user 2004/07/12 (月) 22:41:35
>>3851 hash
ありがとうございます。丸一年気づいていませんでした。
さきほど修正しました。

どうでもいいんですが、こういう用途に使える label 要素
ってのがあることをつい先日知りました。

http://tohoho.wakusei.ne.jp/html/label.htm

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