LoginSignup
46

More than 5 years have passed since last update.

自社管理外のサーバの状況を調べるときのコマンド

Last updated at Posted at 2015-06-16

自社管理外のサーバの状況を調べるときに、先輩から教えてもらったのでまとめます。
WEBサーバについて調べる必要があったので、そちらを想定しています。
何にしても「・・・と推測される」という情報にとどまるので、情報を得ておくということが大事かもしれません。

  • DNSの確認
  • ネットワークの確認
  • httpヘッダーの確認(WEBサーバの種類等)

DNSの確認

与えられたFQDN(仮にwww.example.co.jpとして)から調べていきます。
digコマンドで、

  • ネームサーバはどこか
  • IPはどこか
  • 逆引き設定はどうなっているか

を確認できます。

ネームサーバはどこか

$ dig NS example.co.jp

IPはどこか

設定によってAレコードではなくCNAMEが返ってくることもあります。こちらでIPがわかります。

$ dig A www.example.co.jp

逆引きを調べる。

前記のAレコードの応答で 0.0.0.0 が返ってきたとして、以下のように調べ物をします。

$ dig -x 0.0.0.0

ネットワークの確認

Aレコードで調べたものから http://whois.nic.ad.jp/cgi-bin/whois_gw このURLのJPNIC whoisを使用してIPを調べます。

こちらで

  • IPの割り当て状況
  • IPのレンジがどのように割り当てられているか
    • 共用サーバか専用サーバか 等の推測がもしかしたらできる

がわかります。

HTTPヘッダーの確認

WEBサーバに何を使用しているか等を確認できます。
(通常apacheだと使用しているサーバを隠す設定をしているのででないかもしれません。)

wgetを利用する

$ wget -S --spider www.example.co.jp

結果(IPとFQDNを変更しています。)

Spider mode enabled. Check if remote file exists.
--2015-06-16 10:25:35--  http://www.example.co.jp/
Resolving www.example.co.jp (www.example.co.jp)... 0.0.0.0
Connecting to www.example.co.jp (www.example.co.jp)|0.0.0.0|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Date: Tue, 16 Jun 2015 01:25:35 GMT
  Server: Apache/2.4.6 (CentOS) PHP/5.4.16 Phusion_Passenger/5.0.6
  Last-Modified: Sun, 06 Apr 2014 13:01:21 GMT
  ETag: "8de-4f65f58eb8a40"
  Accept-Ranges: bytes
  Content-Length: 2270
  Keep-Alive: timeout=5, max=100
  Connection: Keep-Alive
  Content-Type: text/html; charset=UTF-8
Length: 2270 (2.2K) [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.

curl を使用する

$ curl --head www.example.co.jp

結果(IPとFQDNを変更しています。)

HTTP/1.1 200 OK
Date: Tue, 16 Jun 2015 01:29:44 GMT
Server: Apache/2.4.6 (CentOS) PHP/5.4.16 Phusion_Passenger/5.0.6
Last-Modified: Sun, 06 Apr 2014 13:01:21 GMT
ETag: "aaa-aaaaaaaaaaa"
Accept-Ranges: bytes
Content-Length: 2270
Content-Type: text/html; charset=UTF-8

また直接IPでアクセスしてみることで、WEBサーバがネームベースバーチャルか、IPベースかの推測も立てられます。それによってSSLの対応等も変わることがあるので確認すると良いとのことです。

まとめ

上記で情報が出ていれば

  • どんなサーバか
  • どんなネットワークか

に推測をすることが出来ます。
先輩曰く「ちなみにこれくらいの情報は都度、見てました。単なる興味、という面もありますが、現状を把握するのもエンジニアとして必要(というか当たり前)だと思ってる。」とのことです。

以上、メモでした。

追記1

sample.co.jpが実際にあるとのことで表記をexample.co.jpに変更しました。@bsdmadさんありがとうございます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
46