前回のブログでは、コマンドプロンプトをつかって大量のフォルダを一括作成する方法を紹介しました。今回はコマンドプロンプトを使った効率術というより、Webディレクターが知らないと困ると思われるコマンドを3つ紹介します。
コマンド | 概要 |
---|---|
ping | 特定のコンピュータへの通信状況を確認 |
ipconfig | 自分のネットワークの確認 ※windowsのみのコマンド |
nslookup | DNS情報の確認 |
どれもネットワーク系のコマンドです。
なぜWebディレクターが知っておく必要があるのか。それは新サイト構築、サイトリニューアルの公開時(リリース時)にサイトが表示されないといったトラブルが発生した際に、最低限の情報を自分で調査してから、エンジニアに相談したほうが問題解決が早いためです。
「ping(ピング or ピン)」は特定のサーバ(コンピュータ)に対しての疎通確認をする際に利用するコマンドです。単純な使い方としては、「ping + 半角スペース + IPアドレス(もしくは、FQDN)」が挙げられます。
Windowsのスタートボタンをクリックした後の検索窓から「コマンドプロンプト」を検索すると、アプリケーションが見つかります。
ノースディテールのサイトに対して正常にアクセスできているかを確認。
「ping + 半角スペース + www.northdetail.co.jp」を入力してエンターキー。
pingコマンドの結果が表示されました。
pingコマンドでホスト(コンピュータ)が見つからなかった場合は、「ping 要求ではホスト ***** がみつかりませんでした。ホスト名を確認してもう一度実行してください」と表記されます。
オプション | 取得データ |
---|---|
-n | 送信するICMPエコー要求の数。デフォルトの数は 4 回。 |
-t | 中断されるまで指定したホストに対してpingを実行し続ける。「Ctrl+C」で中断。 |
-l | ICMPパケットのデータ部のサイズ。デフォルトのサイズは「32」バイト。 |
-w | pingのタイムアウトの時間を指定する。デフォルトは「4000」ミリ秒。つまり4秒。 |
など、pingには多くのオプションが用意されています。
「ipconfig(アイピーコンフィグ)」通信不備があるときに、自分のネットワークに問題がないかを確認することができるコマンドです。 ※windowsのみのコマンドです。
自分のネットワークを確認します。
「ipconfig」を入力してエンターキー。※オプションは不要です。
色々な情報が表示されますが、主に確認する箇所は下記となります。
「IPv4 アドレス」が空欄もしくは、「169.254.**」のアドレスの場合、外部の通信ができていないことになります。
「IPv6 アドレス」の場合は、空欄もしくは、「fe80:0:0:0:」で始まる領域では、外部との通信不可です。
IPv4の「169.254」やIPv6の「fe80:0:0:0:」は、リンクローカルアドレスといわれ、自分のネットワーク領域でしか通信ができません。
IPアドレスは「ネットワーク部」と「ホスト部」に分かれています。ホストとはコンピュータのこと。要するに、IPアドレスとは「どのネットワークの、どのコンピュータ」かを示している情報となります。
そして、「サブネットマスク」はIPアドレスの「どこがネットワーク部」で「どこがホスト部」なのかを示している情報となります。
たとえば、サブネットマスクが「255.255.255.0」の場合。一旦、2進数に変換すると「11111111.11111111.11111111.00000000」となります。「1」が並んでいる部分が「ネットワーク部」。「0」が並んでいる部分は「ホスト部」となります。
例えば、IPv4 アドレスが「192.168.2.106」の場合、2進数にすると「11000000.10101000.00000010.01101010」となります。
IPアドレスとサブネットマスクを並べて比較します、
「11000000.10101000.00000010.01101010」(IPアドレス)
「11111111.11111111.11111111.00000000」(サブネットマスク)
結論とするとサブネットマスクが「255.255.255.0」の場合、IPアドレス「192.168.2.106」は、「11000000.10101000.00000010」がネットワーク部。「01101010」がホスト部になります。
デフォルトゲートウェイとは、ローカルネットワークとインターネットをつなぐホスト(コンピュータ)のことで、ルーターがその役割を担っていることがほとんどです。
デフォルトゲートウェイのIPアドレス = ルーターのIPアドレス
当然、デフォルトゲートウェイのIPアドレスが空欄の場合は、インターネットに接続できない状態なので異常と判断できるわけです。
「nslookup(エヌ・エス・ルックアップ)」コマンドはDNS情報を取得するときに使うコマンドです。個人的には一番利用するコマンドです。
ノースディテールのドメイン情報を確認。
「nslookup + 半角スペース + ドメイン名(northdetail.co.jp)」を入力してエンターキー。
※オプションは付与せずに入力
nslookup をオプションなしで入力すると、基本的にDNSのAレコードが表示されます。
ドメインに紐づく、IPアドレスを返してくれます。
nslookup コマンドには各種オプションが用意されています。オプションを付与することで、DNSの「Aレコード」「TXTレコード」「CNAMEレコード」などを取得することができて、Webディレクターにとって役に立つ情報を得られます。
オプションを付ける方法ですが、「nslookup -type=[引数] ドメイン名」という形になります。
たとえば、DNSに設定されているTXTレコードを取得するコマンドは下記となります。
nslookup -type=TXT ドメイン名
※type以外にも多くのオプションが存在するのですが、Webディレクターとしてはそこまで使うこともないと思われるため割愛します。
引数 | 取得データ |
---|---|
A | Aレコードを取得 |
TXT | TXTレコードを取得 |
CNAME | CNAMEレコードを取得 |
ns | ネームサーバ情報を取得 |
mx | メールサーバ情報を取得 |
PTR | ドメインの逆引き(IPアドレスからホスト名を取得)情報を取得 |
SOA | DNS情報の検索ルートとなる重要な情報(ネームサーバなTTLなど)を取得 |
DNS情報はドメイン保有者のみ設定が可能のため、サイトリニューアル時では、お客様に設定してもらうケースがあります。特に「Aレコード」「TXTレコード」「CNAMEレコード」は重要な設定のため、こちらの希望どおりに設定してくれたのかを「nslookup」コマンドで確認できるのはとてもありがたいのです。
ネットワークのトラブルは、サイトダウンに直結するため非常に焦ります。基本的にはインフラエンジニアに頼る必要があるのですが、Webディレクターも基本的な知識や確認方法を覚えておくと、落ち着いて対応することができます。わたしも基本的なことしか理解できていませんが少しづつネットワークの知識を蓄えていきたいと思います。
コマンドプロンプトの「curl」コマンドも、とても面白いので紹介したかったのですが、ボリュームが多くなってしまうため、別の機会に紹介したいと思います。