[PHP-users 9821] サーバーOSを調べる
S.Okazaki
php-users@php.gr.jp
Fri, 06 Sep 2002 11:43:15 +0900
こんにちは、岡崎です。
まず、これがここに投げて良い質問かどうか迷いましたが、
一応PHPで実現したいので・・・
$fp=fsockopen($ip,80,$errno,$errstr,30);
fwrite($fp,"GET / HTTP/1.0\r\nHost: www.hoge.com\r\n\r\n");
で、80番ポートを叩いて、$fpの終点まで
print fgets($fp,128);
ととすれば、
Server: Apache/1.3.26 (Unix) PHP/4.2.2 mod_ssl/2.8.10 OpenSSL/0.9.6g
のように、そのホストのだいたいの情報を得ることが出来ます。
実URIをあげていいのかどうか分からないので、取りあえず伏せておきますが、
この手のサイトでは相手サーバーOSまで特定できるようです。
しかし、上記方法ではそこまでは分かりません。
どうすれば、相手サーバーがSolaris なのかLinuxなのか等、
分かるのでしょうか?
時々Apache/1.3.23 (Unix) (Vine/Linux) の様に特定できるサーバーも
ありますが、これはそのディストリビューションのプリインストールされた
Apacheを動かしているときだと推測しています。
あっているでしょうか?
よろしくお願い致します。
/_/_/_/_/_/_/_/_/_/_/_/_/_/
Japan Human Base
Sotaro Okazaki
Email : okazaki@jp-hb.com
/_/_/_/_/_/_/_/_/_/_/_/_/_/