ネットワーク

TELNET

ネットワークで繋がっているマシンは telnet サービスを有効にしている場合が多い。このマシンに自分のアカウント(ID, パスワード)があれば、世界中のどこからでも telnet でログインできる。

情報科学コースのシステムの場合, コース内の Solaris 8 マシンは NIS (Network Information System) を使ってアカウントを共通にしている。試しに隣のマシンにログインしてみる。
tkikuchi@sws01% telnet sws02
Trying 133.97.168.102...
Connected to sws02.
Escape character is '^]'.


SunOS 5.8

login: tkikuchi
Password:
Last login: Mon Dec  9 14:45:22 from :0
Sun Microsystems Inc.   SunOS 5.8       Generic February 2000
You have mail.
tkikuchi@sws02%
隣のマシンのマシン名 swsXX を確認して telnet すること

自分が隣のマシンから入ったことを記録しておこう。コース内のマシンは NFS (Network File System) を使ってどのマシンに入っても同じホームディレクトリを使うようになっている。
tkikuchi@sws02% cd coreinfo
tkikuchi@sws02% mkdir network
tkikuchi@sws02% cd network
tkikuchi@sws02% hostname > telnet
tkikuchi@sws02% who am i >> telnet
tkikuchi@sws02% cat telnet
sws02
tkikuchi   pts/2        12月 15日 10:54 (sws01)
tkikuchi@sws02%
TELNET の終了には exit コマンドでリモートホストでのシェルを終了する。
tkikuchi@sws02% exit
tkikuchi@sws02% ログアウト
Connection closed by foreign host.
tkikuchi@sws01%

FTP

リモートホスト(へ・から)ファイルを転送するには ftp を使う。リモートへの転送をアップロード(upload)、リモートホストから転送して手元のマシンに取ってくることをダウンロード(download)と呼ぶ。 ftp では 接続した後、以下のようなコマンドでファイルの確認やアップロード・ダウンロードを行うことができる。また、ファイルを ASCII 形式(テキスト)で転送するか、バイナリ形式で転送するかの区別もあるので、特に注意。
dir ディレクトリリストの表示
cd ディレクトリの変更
ascii ASCII形式
bin バイナリ形式
get ファイルのダウンロード
put ファイルのアップロード
! ローカルコマンドの利用
quit ftp を終了する
以下の例では、コースの WWW サーバである nws から icon の画像をダウンロードする。
tkikuchi@sws01% cd ~/coreinfo/network
tkikuchi@sws01% ftp nws
Connected to nws.
220 nws FTP server (Authorized Use Only) ready.
Name (nws:tkikuchi): tkikuchi
331 Password required for tkikuchi.
Password:
230 User tkikuchi logged in.
ftp> cd /www/icons
250 CWD command successful.
ftp> dir
...
-rw-r--r--   1 kikuchi  staff        261  2月 22日 1996年 world2.gif
-rw-r--r--   1 kikuchi  staff        339  5月 30日 2001年 world2.png
226 ASCII Transfer complete.
10864 bytes received in 0.05 seconds (212.28 Kbytes/s)
ftp> bin
200 Type set to I.
ftp> get world2.gif
200 PORT command successful.
150 Binary data connection for world2.gif (133.97.168.100,40060) (261 bytes).
226 Binary Transfer complete.
local: world2.gif remote: world2.gif
261 bytes received in 0.0032 seconds (79.38 Kbytes/s)
ftp> !ls
telnet      world2.gif
ftp> quit
221 Goodbye.
tkikuchi@sws01%
FTP では同時利用者数を制限しているので、上記の例はできるだけ速やかに実行し、他の練習者のためにサーバへの接続を解放すること。

メールのチェック

メールの読み書きには、Netscape または dtmail を使っているが、 mail コマンドを使うことで、telnet 端末上でも(ある程度)読み書きができる。ここでは簡単な(英語の)メール送信とメールのチェックだけをおこなう。詳しくは、必要に応じてマニュアルや参考書を読むこと。 (dtmailを起動している場合には終了してから mail コマンドを実行する)
tkikuchi@sws01% mail
mailx version ALE5.0 Wed Nov 17 19:43:06 PST 1999  コマンドの概要は ? をタイプし
てください。
"/var/mail/tkikuchi": 2 個のメッセージがあります。
>O  1 Cron Daemon        Sun Dec 15 09:46  126/3748  Cron <tkikuchi@virga> $HO
 O  2 kujira-net-admin@i Sun Dec 15 11:24   44/1967  Kujira-net post from txan
? x
tkikuchi@sws01% mail tkikuchi
Subject: test
test mail
.
送信終了
tkikuchi@sws01% mail
mailx version ALE5.0 Wed Nov 17 19:43:06 PST 1999  コマンドの概要は ? をタイプし
てください。
"/var/mail/tkikuchi": 3 個のメッセージがあります。 1 個新規。
 O  1 Cron Daemon        Sun Dec 15 09:46  126/3748  Cron  $HO
 O  2 kujira-net-admin@i Sun Dec 15 11:24   44/1967  Kujira-net post from txan
>N  3 [email protected] Sun Dec 15 11:50   16/476   test
? 3
Message  3:
From tkikuchi Sun Dec 15 11:50:22 2002
Date: Sun, 15 Dec 2002 11:50:21 +0900 (JST)
From: [email protected]
To: [email protected]
Subject: test

test mail

? s testmail
"testmail" [New file] 17/486
? x
tkikuchi@sws01% 
メールの転送: ~/.forward に記述

WWW

World Wide Web には通常 netscape などのブラウザを使ってアクセスする。しかし、telnet でログインしているときなど、ブラウザが使えないときに、ファイルをダウンロードしたいことがある。そのようなときは wget コマンドが便利である。wget コマンドは Solaris 付属ではなく、フリーソフトウェアである。
% wget http://weather.is.kochi-u.ac.jp/FE/00Latest.jpg

ネットワークの診断

ネットワークが正常に稼動しているかどうかを調べるのは、ネットワーク管理者の仕事であるが、個人でも簡単な診断は可能である。

ifconfig

ネットワークインターフェースの設定を調べる。
tkikuchi@tws% ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 133.97.168.100 netmask ffffff00 broadcast 133.97.168.255
ここでは hme0 という名前のインターフェースのアドレスが 133.97.168.100 にブロードキャストアドレスが 133.97.168.255 に設定されている。もし、これが正しく設定されていないと、同じネットワーク上の別のホストに接続することはできない。

netstat

ネットワークインターフェースの状態を調べる。ここでは、ルータの設定を調べる -r オプションだけを使う。
tkikuchi@tws% netstat -r
Routing Table: IPv4
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
133.97.168.0         tws                   U        1  48911  hme0
BASE-ADDRESS.MCAST.NET tws                   U        1      0  hme0
default              fms-168               UG       1   2647
localhost            localhost             UH       4 551295  lo0
デフォルトルータが fms-168 に設定されている。もし、これが設定されていなかったり間違っていると、外部のネットワークへの接続ができない。

ping

ping コマンドはリモートホストとの間で IP パケットが通じるかどうかを調べる。
% ping nws
nws is alive

traceroute

リモートホストとの間のルータとそれぞれのパケット往復時間を調べる
tkikuchi@tws% traceroute nws
traceroute to nws (133.97.166.15), 30 hops max, 40 byte packets
 1  fms-168 (133.97.168.17)  0.503 ms  0.298 ms  0.281 ms
 2  nws (133.97.166.15)  1.240 ms  0.472 ms  0.402 ms

nslookup

ホストの名前と IP アドレスの関連付けを調べる
tkikuchi@tws% nslookup www.whitehouse.gov
Server:  fms-168.is.kochi-u.ac.jp
Address:  133.97.168.17

Non-authoritative answer:
Name:    a1289.g.akamai.net
Addresses:  193.108.154.57, 193.108.154.49
Aliases:  www.whitehouse.gov, www.whitehouse.gov.edgesuite.net

注意

ファイアーウォールについて
計算機実習室からは情報科学コース外には直接パケットが届かないようにルータの設定をおこなっている。このように外部とのパケット遮断・制限を行うルータをファイアーウォール(防火壁)と呼ぶ。このファイアーウォールがあるため、実習室から外部のWebページを見るには、ブラウザで Proxy (代理) サーバの設定が必要である。

Windows でのネットワーク診断
MS-DOS プロンプトの中で、ipconfig, netstat, ping, tracert というコマンドが使える。


練習

記録やファイルが ~/coreinfo/network に残るように練習する
  1. telnet で隣のマシンに入り、上の例に従ってその記録を残す
  2. ftp で nws から /www/icons/world2.gif をダウンロードする
  3. コマンドラインから自分宛てにテストメールを出し、そのメールを ~/coreinfo/network/testmail に保存する
  4. wget を使って http://weather.is.kochi-u.ac.jp/FE/00Latest.jpg をダウンロードする
  5. nws へ traceroute したときの結果を trace というファイルに記録する

宿題

Windows マシンでは MS-DOS プロンプトの中から telnet と ftp が起動できる。
情報科学コースのマシンへは原則として学外や学内の情報コンセント教室からはアクセスできないようになっている。が、特別に便宜のため gate.is.kochi-u.ac.jp には telnet, ftp, ssh でのアクセスが可能である。
自分の必携パソコンを使って、学内の適当な情報コンセントから、あるいは自宅からネットワークアクセスが可能な人は自宅から、 gate.is.kochi-u.ac.jp に telnet でログインし、 who am i の結果を ~/coreinfo/network/pc に残しなさい。
次回の授業は 12/24 (火曜日)です。間違えて帰省してしまわないように!!

<a href="http://www.is.kochi-u.ac.jp/~tkikuchi/>菊地のホームページ