Going my way

いいなと思ったことをメモしていきます。

コマンドプロンプトを立ちあげ障害を追っていく先輩に憧れて


Advertisements


PCを使う仕事をしている限り、ネットワークの問題は切り離せない。
それは個人の問題であれ、システムの問題であれ、常日頃何かが起こり、そして原因を追跡しなれけばならない。
スリーウェイハンドシェイクという言葉すら知らなかった新人時代、問題が起きたら即時にteratermを立ちあげ、問題点を追跡していく先輩はさながら探偵のようにも見えた。
意味がわからないものは神々しく見えるものなのだ。そんなに難しいことをしていたわけではないのに。
以下、コマンドプロンプトでネットワーク系のコマンドを思うがままにまとめていく。
詳しく学びたい人は、文末に載せたリンクの書籍を読んでほしい。

■例えば迷惑メールが届いて、その迷惑メールの送り手が使っているISPまでをなんとか調べたいとき。
①nslookupを使って、メールを送ってきたメールサーバを調べる。

C:\temp>nslookup
DNS request timed out.
    timeout was 2 seconds.
既定のサーバー:  UnKnown
Address:  192.168.1.1
> set type=MX
>
> pinky-pin.XX ←迷惑メールの@以下
サーバー:  UnKnown
Address:  192.168.1.1

権限のない回答:
pinky-pin.jp    MX preference = 10, mail exchanger = smtp.pinky-pin.jp

pinky-pin.jp    nameserver = ns5.vnstg.net
pinky-pin.jp    nameserver = ns2.vnstg.net
pinky-pin.jp    nameserver = ns4.vnstg.net
smtp.pinky-XXX.jp       internet address = 202.251.XXX.XX(ここにIPアドレスが表示される)

②whois sourceというwebサイトに上記で取得したIPアドレスを入力すると、このIPアドレスを割り振っているISPが表示される。
http://www.whois.sc/

DNSキャッシュを確認する

C:\temp>ipconfig /displaydns

Windows IP 構成

    vivi.dyndns.org
    ----------------------------------------
    レコード名 . . . . . : vivi.dyndns.org
    レコードの種類 . . . : 1
    Time To Live  . . . .: 13
    データの長さ . . . . : 4
    セクション . . . . . . . : 回答
    A (ホスト) レコード. . . : 220.157.170.199

■nslookupコマンドを使ってfacebook.comのIPアドレスを確認する

C:\temp>nslookup
DNS request timed out.
    timeout was 2 seconds.
既定のサーバー:  UnKnown
Address:  192.168.1.1

> facebook.com
サーバー:  UnKnown
Address:  192.168.1.1

権限のない回答:
名前:    facebook.com
Addresses:  2a03:2880:10:1f02:face:b00c:0:25
          2a03:2880:10:8f01:face:b00c:0:25
          2a03:2880:2110:3f01:face:b00c::
          66.220.149.11
          66.220.158.11
          69.171.224.37
          69.171.229.11
          69.171.242.11

nslookupはDNSサーバへのIPアドレスを問い合わせを手動で実行することができる。
facebook.comに対応するIPアドレスは5つあって、IPアドレスを複数登録することで負荷分散を行なっていることがわかる。

IPアドレスがわかってもホスト名がわからないとき

C:\temp>nslookup
DNS request timed out.
    timeout was 2 seconds.
既定のサーバー:  UnKnown
Address:  192.168.1.1

>  69.171.242.11
サーバー:  UnKnown
Address:  192.168.1.1

名前:    www-10-02-ash3.facebook.com
Address:  69.171.242.11

「>IPアドレス」でPTRレコードの問い合わせを行うことができる。

■ポート番号について
ポート番号は、PCやサーバ上で稼働しているアプリケーションを識別するための情報。
「8081番ポートで起動しているjboss」,「8082ポートで起動しているjboss」などと、
同じサーバの中で入り口を分けて使用することがある。

ウェルノウンポート(0~1023)

登録済みポート(1024~49151)

■ポート番号を確認するコマンド

netstat -n

C:\temp>netstat -n

アクティブな接続

  プロトコル  ローカル アドレス          外部アドレス        状態
  TCP    127.0.0.1:49453        127.0.0.1:6999         TIME_WAIT
  TCP    127.0.0.1:49511        127.0.0.1:49512        ESTABLISHED
  TCP    127.0.0.1:49512        127.0.0.1:49511        ESTABLISHED

■TCP/IPの設定を確認する

C:\temp>ipconfig /all

■IPアドレスを解放する

C:\temp>ipconfig /release

■IPアドレスを再取得する

C:\temp>ipconfig /renew

■デフォルトゲートウェイとは、同じネットワーク内のルータのこと

■DHCPサーバがクライアントにIPアドレスを割り当てる仕組み
①DHCPDISCOVER:問い合わせブロードキャストしてDHCPサーバを探しだす。
②DHCPOFFER:DHCPDISCOVERを受け取ったDHCPサーバが、使えるアドレスを選択してDHCPOFFERをクライアントに返す
③DHCPREQUEST:クライアントがDHCPOFFERを受け取ると、DHCPREQUESTをブロードキャストしてIPアドレスを要求する。

■ブロードキャストはルータを超えられない
→でも一つのネットワークに1台のDHCPサーバを置くのは非効率。
→DHCPリレーエージェントという機能を使って、複数のネットワークのDHCPクライアントに対してIPアドレスを配布する仕組み。
→ブロードキャストされたDHCPDISCOVERをユニキャストに変換してDHCPサーバに転送している。

■IPアドレスまたはホスト名への通信経路を確認する

C:\temp>tracert www.facebook.com

④DHCPACK:DHCPサーバが要求されたIPアドレスの使用を了承する。


■もっとわかりやすく勉強したいとき・・・