next up previous contents
: プリント操作 : シェルの基本操作 : プロセス操作   目次

ネットワーク環境を調べる

stex の計算機は、すぐに使えるように設定されていますが、ノートPCを持って きて、大学のネットワークにつないだり、自宅で新たに ADSL や光でプロバイ ダに接続する場合には、計算機のネットワークの設定が不可欠です。また、WWW ブラウザで、目的とする URL のページが表示されない場合に、ただ単に、相手 のサーバーが落ちているのか、それともネットワーク環境が不調で表示されない のかは、ネットワーク環境を調べるコマンドを知らないとわかりません。この節 では、ネットワーク環境を調べるコマンドを簡単に解説します。ここで紹介する コマンドは、UNIXの標準的なコマンドですが、Windows でも同じ名前かあるいは 同じ内容のコマンドがあります66 ので、 それについても、脚注に書いておきます。

ifconfig67 は ネットワークインターフェースの状態を調べるコマンドです。

  % ifconfig
  rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet6 fe80::215:f2ff:feb3:fb9a%rl0 prefixlen 64 scopeid 0x1
        inet 192.168.65.121 netmask 0xffffff00 broadcast 192.168.65.255
        ether 00:15:f2:b3:fb:9a
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
  lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet 127.0.0.1 netmask 0xff000000
この結果は、rl0 と lo0 というふたつのネットワークインターフェースが存在 し、inet6 と inet は、それぞれ、IPv6 と IPv4 のIPアドレスやサブネットマ スクの状態を示しています(§1.7.2参照)68。 lo0は、ループバックインターフェース(loopback interface) と 呼ばれる自分自身を表す特殊なインターフェースで、IPv4では 127.0.0.1/8 を使うことになっていて、localhost というホスト名がこの IPアドレスに 対応しています。rl069 というイ ンターフェースが、他の計算機と通信を行なうインターフェースです。 rl0 の IPv4 の IPアドレスは 192.168.65.121、サブネットマスクは 255.255.255.0、ブロードキャストアドレス70 は、 192.168.65.255 であることがわかります。ether の 00:15:f2:xx:xx:xx は、 イーサーネット(ethernet)アドレス(または、MACアドレス)と呼ばれるこのネッ トワークカードに固有のアドレスで、 世界中でユニークになるように決められています71。言わば、MACアドレスはそのネットワークインターフェースの指紋のよう なものです。media: と status: の部分は、そのインターフェースの通信速度や 現在の状態を表しています(§1.7参照)。例えば、RJ45の端子が正 しく刺さっていなかったり、相手の HUB の電源が落ちていたりすると、
        media: Ethernet autoselect (none)
        status: no carrier
というような表示に変わります。最近は、IPアドレスなどのネットワークの設定 をネットワーク上のサーバーから自動的に取得する DHCP(Dynamic Host Configuration Protcol)もよく使われます。そのような場合、ifconfig (Windows では ipconfig)コマンドで正しく IPアドレスを取得できているかを 確認することができます。

ping72 は、ネットワークの到達性を調べるコマンドです。ICMP ECHO_REQUEST と呼ばれる小さなパケットを相手のホストに送り、受け取ったホ ストは ICMP ECHO_RESPONSE というパケットを戻します73。ping の引数は、ホスト名、またはIPアドレスで 与えます。

  %  ping www.phys.tohoku.ac.jp
  PING www1.phys.tohoku.ac.jp (130.34.123.196): 56 data bytes
  64 bytes from 130.34.123.196: icmp_seq=0 ttl=254 time=0.310 ms
  64 bytes from 130.34.123.196: icmp_seq=1 ttl=254 time=0.214 ms
  64 bytes from 130.34.123.196: icmp_seq=2 ttl=254 time=0.204 ms
  ^C                        (Ctrl + c で抜ける)
  --- www1.phys.tohoku.ac.jp ping statistics ---
  3 packets transmitted, 3 packets received, 0% packet loss
  round-trip min/avg/max/stddev = 0.204/0.243/0.310/0.048 ms
  % ping 192.168.65.5   (立ち上がっていない計算機の場合)
  PING 192.168.65.5 (192.168.65.5): 56 data bytes
  ^C
  --- 192.168.65.5 ping statistics ---
  21 packets transmitted, 0 packets received, 100% packet loss
ping から抜けるのは、Ctrl + c です。

nslookup74 は、 IPアドレスと DNSのホスト名の対応関係を調べるコマンドです。

  % nslookup www.tohoku.ac.jp
  Server:         192.168.65.254
  Address:        192.168.65.254#53

  Non-authoritative answer:
  www.tohoku.ac.jp        canonical name = toppage.bureau.tohoku.ac.jp.
  Name:   toppage.bureau.tohoku.ac.jp
  Address: 130.34.15.80

  % nslookup www1.phys.tohoku.ac.jp ns1.phys.tohoku.ac.jp
  Server:         ns1.phys.tohoku.ac.jp
  Address:        130.34.123.194#53

  Name:   www1.phys.tohoku.ac.jp
  Address: 130.34.123.196

  % nslookup 192.168.65.2
  Server:         192.168.65.254
  Address:        192.168.65.254#53

  2.65.168.192.in-addr.arpa       name = s1.stex.phys.tohoku.ac.jp.

  % nslookup -q=NS stex.phys.tohoku.ac.jp
  Server:         192.168.65.254
  Address:        192.168.65.254#53

  stex.phys.tohoku.ac.jp  nameserver = gw.stex.phys.tohoku.ac.jp.
nslookup は、通常、システムで設定されたネームサーバー75 に聞きに行きますが、 ふたつめの引数を与えると、そのネームサーバーに聞きに行きます。また、 -q=NS ドメイン名 だと、そのドメインのネームサーバーを教えてくれます。



練習 5

いくつかのホスト(例えば、www.stex.phys.tohoku.ac.jp, www.phys.tohoku.ac.jp, www.tohoku.ac.jp, www.google.co.jp, www.asahi.com 等)に ping を打って、その応答がどのように違うのかを観察 しましょう。