人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

この質問(http://www.hatena.ne.jp/1086057080)の続きです。サーバー運用者から以下の情報を得ました。「Non-root users can bind sockets 1024 and above, so there will be no problem with writing PHP and PERL scripts that bind to these sockets. 」つまり、ポート1024以上ならPERLでもソケットを使えるということですが、実際にはエラー(timeoutっぽい)になります。環境で確認すること整えることがあれば教えてください。

●質問者: dayofgreen
●カテゴリ:ウェブ制作
✍キーワード:And A BIND Perl PHP root
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● aki73ix
●50ポイント

http://chaichan.hp.infoseek.co.jp/qa1000/qa1067.htm

Perlで任意のURLのHTMLを読むには? について

いや、この場合の、bindはサーバソケットになるんじゃないでしょうか?1024としている辺りがおかしいです。こういった制限があるのはBindコマンドを使うときです

http://www.7key.jp/program/perl/bind.html

Perl関数リファレンス bind -- Ray:雑学事典

pack/socket コマンドの許可が逆に1024以上のポートで許可されていない可能性があります

試しに80番ポートで試して見ましょう

以下のURLに特定のホームページのURLを摂ってくるCGIが掲載されています(こないだのCGIを改造してもOK)

◎質問者からの返答

なるほど!!!!ポート80では動きました。さらに質問で申し訳ありませんが、なぜ1024以上が禁止されているのでしょうか。


2 ● aki73ix
●10ポイント

http://www.hoku-hoku.com/forum/dataroom/

それはWellknownPortといわれるアプリケーションから良く使うPortが1024未満だからです

1024以上のエフェメラルポートはBackDoorなどのハッキングに使われる事があるので、禁止している場合があるわけです

この場合もそう言うことじゃないかと思われます

1024未満の数字で、shoutcastサーバを立てる・・・かレンタルサーバを変えるというところが妥当なんじゃないですかね

以下は資料

-------------------------------------------------

ポート番号は、0 〜 65535 番までの番号があり、そのうち 0 番は特殊な指定になります。

0 〜 1023 番までのポート番号の事を、一般的にウェルノウン・ポート番号 (Well Known Port Numbers) と呼び、ある特定のプロトコルやアプリケーションを使用するために、予め予約されている番号になります。

1024 以降のポート番号はエフェメラル・ポート番号 (Ephemeral Port Numbers) と呼ばれ、通信が行われる際にアプリケーション間で適宜割り当てが行われる番号を指します。

ウェルノウン・ポート番号の割り当ては、IANA が行っています。

◎質問者からの返答

なるほど、ありがとうございます。特殊な理由があるのかと思いましたが、一般的な理由ですね。しかし、さすがにこういうことまでスペックに書いてあるレンタルサーバーは見かけませんよね。ちょっとこれも聞いてみようかと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ