11    問題解決ツールの使用

ネットワーク接続とネットワーク・ハードウェアの問題解決を支援するため,このオペレーティング・システムは,次の各タスクを実行するツールを備えています。

以下の節では,これらのタスクに関連するツールの使用方法について説明します。 ネットワーク・サービスの診断に使用できるその他のツールについては,『ネットワーク管理ガイド:サービス編』を参照してください。

11.1    ネットワーク・インタフェースに関する情報の表示

ネットワーク・インタフェースに関する情報を表示するには,ifconfig および hwmgr ユーティリティを使用します。

ifconfig コマンドは,物理的なネットワーク・アダプタ (tuee など) と論理的なネットワーク・インタフェース (nrlag など) の基本的なネットワーク・パラメータを表示します。

システムで使用できるすべてのネットワーク・インタフェースに関する情報を表示するには,次のように ifconfig -a コマンドを実行します。

# ifconfig -a
ee0: flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX>
     inet 18.141.116.139 netmask ffffff00 broadcast 18.141.116.255
     ipmtu 1500
 
ee1: flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX>
 
ee2: flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX>
 
lo0: flags=100c89<UP,LOOPBACK,NOARP,MULTICAST,SIMPLEX,NOCHECKSUM>
     inet 127.0.0.1 netmask ff000000 ipmtu 4096 
 
 

この出力は,3 枚の ee イーサネット・カード ( ee(7) を参照) がシステムにインストールされていることを示します。 構成されアクティブになっているインタフェース・カードは ee0 のみです。 アクティブなインタフェースに対する出力には,IP アドレス,ネットワーク・マスク,ブロードキャスト・アドレス,最大伝送ユニット設定が含まれています。

lo0 エントリは,すべてのシステムに存在する標準のループバック論理インタフェースに対する表示です。

特定のネットワーク・インタフェースに関する情報を表示するには,次のように,ネットワーク・インタフェースの名前を引数にして ifconfig コマンドを実行します。

# ifconfig tu0
tu0: flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX>
     inet 18.141.116.142 netmask ffffff00 broadcast 18.141.116.255 ipmtu 1500
 

ifconfig コマンドでは,ネットワーク・インタフェースを構成することもできます。 詳細については ifconfig(8) を参照してください。

システムにインストールされている物理ネットワーク・アダプタに関するその他の情報を表示するには,次のように hwmgr コマンドを入力します。

# hwmgr get attribute -category network
18:
  name = ee0
  category = network
  sub_category = Ethernet
  model = Intel 82558
  hardware_rev = 5
  firmware_rev = 
  MAC_address = 00-08-02-3E-C5-A5
  MTU_size = 1500
  media_speed = 10
  media_selection = Automatic
  media_type = Unshielded Twisted Pair (UTP)
  loopback_mode = 0
  promiscuous_mode = 0
  full_duplex = 0
  multicast_address_list = CF-00-00-00-00-00 01-00-5E-00-00-01 \
                           33-33-FF-3E-C5-A5 33-33-00-00-00-01 \
                           09-00-2B-00-00-0F 09-00-2B-02-01-04
  interface_number = 1
  link = Up
  autoneg_enable = 1
  registration_time = Mon Jul 22 10:23:24 2002
  user_name = (null) (settable)
  location = (null) (settable)
  software_module = (null)
  state = available
  state_previous = unknown
  state_change_time = none
  event_count = 0
  last_event_time = none
  access_state = online
  access_state_change_time = none
  capabilities = 0
  indicted = 0
  indicted_probability = (null)
  indicted_urgency = (null)
  disabled = 0
  est_seconds = 0
  est_bytesent = 2144929
  est_bloksent = 7401
  est_mbytesent = 1496342
  est_mbloksent = 3873
  est_deferred = 322
  est_single = 68
  est_multiple = 44
  est_collis = 0
  est_unrecog = 0
  est_userbuf = 0
  est_latecoll = 0
  est_excesscoll = 0
  est_carrierfail = 0
  est_shortcirc = 0
  est_opencirc = 0
  est_sndlong = 0
  est_sendfail = 0
  est_bytercvd = 1131389693
  est_blokrcvd = 7146273
  est_mbytercvd = 1130918879
  est_mblokrcvd = 7141764
  est_overrun = 1
  est_sysbuf = 0
  est_unaligned = 0
  est_longframe = 0
  est_shortframe = 0
  est_fcsfail = 0
  est_badframe = 0
  est_symbolerror = 0
  est_recvfail = 1
 
 

上記の例では,システムにインストールされているネットワーク・アダプタは 1 つだけです。 hwmgr の出力は,ハードウェア情報,低水準の構成設定,このデバイスに対する統計情報のカウンタを表示します。 低水準の構成設定の変更については, ifconfig(8)lan_config(8) を参照してください。 ネットワークの統計情報については,11.4 節付録 A を参照してください。

システムに別のネットワーク・インタフェース・カードがインストールされている場合は,次のように表示されます。

18:
  name = ee0
  category = network
  sub_category = Ethernet
  model = Intel 82558
.
.
19:
  name = ee1
  category = network
  sub_category = Ethernet
  model = Intel 82558
 
.
.
56:
  name = ee2
  category = network
  sub_category = Ethernet
  model = Intel 82559
.
.
 
 

上記の例では,各カードの前に,18,19,56 のような一意のハードウェア ID が表示されています。 必要に応じて,次のようにこの ID を使用して特定のカードに関する情報を表示することができます。

# hwmgr get attribute -id 56
56:
  name = ee2
  category = network
  sub_category = Ethernet
  model = Intel 82559
.
.

hwmgr ユーティリティの詳細については,『ハードウェア管理ガイド』 と hwmgr(8) を参照してください。

11.2    ネットワーク・インタフェースの障害の検出

NIFF (Network Interface Failure Finder) デーモン (niffd) を使用すると,ネットワーク・インタフェースやその接続で発生する障害を検出して報告させることができます。

特定のネットワーク・インタフェースの監視を有効にすると,システムがそのインタフェースのパケット・カウンタの追跡を開始します。 このカウンタの値が増加している限り,ネットワーク・インタフェースは正常に動作しているものと見なされます。 カウンタの値が増加しないまま一定時間が経過すると,niffd デーモンによって当該インタフェースを経由するトラフィックが生成され,インタフェースの接続状態がチェックされます。 その結果,カウンタの値が増加しなければ,niffd はインタフェースが正しく機能していないものと認識し,問題の発生を Event Manager サブシステムに通知します。

パケット・カウンタに関連するログは,イベント・ビューアで確認できます。 Event Manager の他のユーティリティを使用して,接続の問題をリアルタイムで監視することも可能です。

この節では NIFF の手動構成を通じて,ネットワーク・インタフェースを個別に監視する方法を説明します。 インタフェースのフェイルオーバについては,ここでは取り上げません。 NIFF には,NetRAIN (Redundant Array of Independent Network Adapters) にインタフェースの障害発生を通知するメカニズムがありますが,NIFF 自体がフェイルオーバ機能を備えているわけではありません。 NetRAIN セットを構成してネットワーク・インタフェース間の自動フェイルオーバを実現する方法については,2.1.1.2 項を参照してください。

11.2.1    NIFF の構成と構成解除

ネットワーク・インタフェースの監視を有効にするには,niffconfig コマンドを次のように実行します。

# niffconfig -a interface-id

interface-id の部分に,監視対象とするネットワーク・インタフェースのデバイス名 (tu0 など) を指定します。 複数のインタフェースを空白文字で区切って指定することも可能です。

さらに,次のコマンドを実行して niffd デーモンを rc.config ファイル内で有効にするようにすれば,同デーモンによるインタフェースの監視を,システムのリブート後も自動的に継続させることができます。

# rcmgr set NIFFD "YES"
# rcmgr set NIFFC_FLAGS "-a interface-id"

niffd デーモンが監視している各インタフェースは,次のように niffconfig コマンドをオプションなしで実行すれば表示できます。

# niffconfig
Interface:   tu0, status: UP

監視されているインタフェースに対して次のコマンドを実行すれば,そのインタフェースの監視を無効にできます。

# niffconfig -r interface-id

インタフェースの監視がリブート後に自動的に開始されるようにシステムを設定している場合,上記のコマンドで無効にしたインタフェースをリブート後も監視対象から除外するには,rcmgr コマンドを実行して NIFFC_FLAGS を更新します。 さらに,すべての監視を無効にするには,次のコマンドを実行します。

# rcmgr delete NIFFD "YES"
# rcmgr delete NIFFC_FLAGS

NIFF の構成についての詳細は, niffconfig(8) および niffd(8) を参照してください。

11.2.2    NIFF イベントの表示

1 つ以上のネットワーク・インタフェースを対象に NIFF を有効にすると,これらのインタフェースに関連するイベントをイベント・ビューアで表示できます。 次にその手順を示します。

  1. SysMan Menu から [Monitoring and Tuning-->View events] を選択してイベント・ビューアを表示します。

    イベント・ビューアは,コマンド行で次のコマンドを実行して表示することもできます。

    # /usr/bin/sysman event_viewer
    

    特に指定しなければ,イベント・ビューアには syslogd デーモンがログ出力したすべてのイベントが表示されるため,イベント数が数百,あるいは数千にも達する可能性があります。 このため,フィルタを作成して NIFF が生成したイベント以外を抑制する必要があります。

  2. NIFF イベント用のフィルタを作成するには,まず [フィルタ...] を選択します。 「フィルタ」ダイアログ・ボックスが表示されます。

  3. 「イベント名」チェック・ボックスを選択し,続いて対応する「一致するもの」チェック・ボックスを選択します。

  4. 「イベント名」テキスト・フィールドに sys.unix.hw.net.niff.* という文字列を入力します。 この文字列によって,NIFF が生成したイベントのみが選別されます。

  5. さらに,次の手順でイベントの優先度に基づくフィルタを設定すれば,NIFF が生成した情報メッセージや警告も抑制し,インタフェース障害のみを表示することも可能です。

    1. 「プライオリティ」チェック・ボックスを選択し,対応する「一致するもの」チェック・ボックスを選択した後,続いて「範囲」チェック・ボックスを選択します。

    2. 「範囲」テキスト・フィールドに,範囲として 600-700 と入力します。

      インタフェース障害は優先度が 600 なので表示されます。 情報メッセージと警告はいずれも優先度が 200 なので,表示対象から除外されます。

  6. [了解] を選択し,設定したフィルタを保存して適用します。

    NIFF によって生成されたイベントが存在すれば,それがイベント・ビューアに表示されます。

イベント・ビューアに表示されるのは,通知済みのイベントのみです。 表示後に通知されたイベントを表示に反映させるには,[更新] を選択して表示を更新する必要があります。 ただし,niffd デーモンが EVM に通知する接続関連の警告は,ローカル・コンソール上のターミナルに直接出力させることも可能です。 そのための手順は次のとおりです。

  1. ローカル・コンソール上で新しいターミナル (dttermxterm など) を開きます。

  2. このターミナルで次のいずれかのコマンドを実行します。

    NIFF で生成された全イベント (情報メッセージ,警告,および障害) を表示する場合

    # evmwatch | evmshow -f "[name sys.unix.hw.net.niff.*]" -t "@timestamp [@priority] @@"
    

    障害のみを表示する場合

    # evmwatch -f "[priority >= 600]" | evmshow -f "[name sys.unix.hw.net.niff.*]" -t "@timestamp [@priority] @@"
    

    niffd デーモンからイベントが通知されると,それが直ちにターミナルに表示されます。 適切な優先度のイベントが通知されるまで,このターミナルには新しい情報はなにも表示されません。

    このターミナルでは,Ctrl/c を押してプロセスを終了させない限り,新たなコマンドは実行できません。

なお,niffd デーモンが動作しているシステムのネットワーク・インタフェースが 1 つだけの場合,上記の方法でリモート・ホストを通して,ネットワーク・インタフェースの接続を監視することはできません。 この場合,ローカル・コンソールで実行する必要があります。

EVM についての詳細は,『システム管理ガイド』を参照してください。

11.3    インターネット・ネットワーク・ホストへの接続テスト

システムがインターネット上のホストに接続できるかどうかをテストするには,ping コマンドを使用します。 ping コマンドの構文は,次のとおりです。

/usr/sbin/ping [options... ] hostname

表 11-1に,ping コマンドのオプションの一部を示します。

表 11-1:  ping コマンドのオプション

オプション 機能
-c count 送信および受信する ECHO RESPONSE パケットの数を指定します。
-I interface パケット送信に使用するインタフェースを指定します。
-R 送信パケットに RECORD_ROUTE オプションを指定して,受信パケットに入れることのできるパス・バッファを表示します。
-r ローカル・ホストに直接接続されたホストに対して ping コマンドを実行します。 このオプションを使用すると,ping コマンドは通常のパス・テーブルを経由しないで,接続されたネットワーク上にあるホストに直接要求を送信します。 直接接続されたネットワーク上にホストがない場合は,ローカル・ホストに対してエラー・メッセージが返されます。
-V ホスト名が IPv4 アドレスと IPv6 アドレスの両方を持つ場合に,リゾルバが返却するアドレスを IP のバージョン番号 (4 または 6) で指定します。 特に指定しなければ,ping コマンドはホスト名を IPv6 アドレスとして解決してみてから,IPv4 アドレスとして解決してみます。

ping コマンドは,ICMP (Internet Control Message Protocol) のエコー要求を,指定されたホスト名宛に送信します。 要求が成功した場合には,リモート・ホストはローカル・ホストにデータを送り返します。 リモート・ホストが要求に応答しない場合,ping コマンドは何も表示しません。

ping コマンドの出力を終了するには,[Ctrl/c]を押します。 終了する場合,ping コマンドは送信パケットおよび受信パケットについての統計情報,欠落したパケットのパーセンテージ,ならびにパケットの往復にかかった時間の最小値,平均,および最大値を表示します。

ping コマンドの出力は,ホストに到達できない,接続タイムアウト,ネットワークに到達できないなどの,直接ルーティングおよび間接ルーティングに関する問題の原因を調べるのに使用できます。

問題の原因を突き止めるために ping コマンドを使用する場合は,最初にローカル・ホストが作動していることを確認します。 ローカル・ホストからデータが正しく返されたら,ping コマンドを使用してローカル・ホストからより離れた位置にあるリモート・ホストを順次テストしていきます。

コマンド・オプションを指定しないと,ping コマンドは,それぞれの ICMP 要求の結果 (送信順),リモート・ホストから受け取ったバイト数,および 1 回の要求の往復にかかる時間を表示します。

次に,host1 という名前のホストに対して ping コマンドを実行した場合の出力例を示します。

% ping host1
PING host1.corp.com (16.20.32.2): 56 data bytes
64 bytes from 16.20.32.2: icmp_seq=0 ttl=255 time=11 ms
64 bytes from 16.20.32.2: icmp_seq=1 ttl=255 time=3 ms
64 bytes from 16.20.32.2: icmp_seq=2 ttl=255 time=7 ms
64 bytes from 16.20.32.2: icmp_seq=3 ttl=255 time=3 ms
64 bytes from 16.20.32.2: icmp_seq=4 ttl=255 time=7 ms
64 bytes from 16.20.32.2: icmp_seq=5 ttl=255 time=3 ms
[Ctrl/c]
----host1.corp.com PING Statistics---
6 packets transmitted, 6 packets received, 0% packet loss
roundtrip (ms) min/avg/max = 3/5/11 ms

ping のコマンド行には,IPv4 アドレス,IPv6 アドレス,またはノード名が指定できます。 IPv6 アドレスを指定した場合の例を,次に示します。

# ping -c 2 5F00:2100:108C:4000:8C40:800:2B2D:2B2
PING (5F00:2100:108C:4000:8C40:800:2B2D:2B2): 56 data bytes
64 bytes from 5F00:2100:108C:4000:8C40:800:2B2D:2B2: icmp6_seq=0
     hlim=58 time=17 ms
64 bytes from 5F00:2100:108C:4000:8C40:800:2B2D:2B2: icmp6_seq=1
     hlim=58 time=17 ms
----5F00:2100:108C:4000:8C40:800:2B2D:2B2 PING Statistics----
2 packets transmitted, 2 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 17/17/17 ms

このコマンドは,使用されているアドレスの種類に応じて,適切な ECHO_REQUEST パケットを送信します。 1 つのノード名が IPv4 と IPv6 の両方のアドレスで解決できる場合には,-V4 オプションまたは -V6 オプションを指定して,使用するアドレスの種類を指定できます。

また,-I フラグを使用すると,強制的に特定のインタフェースを使用することもできます。 次に例を示します。

# ping -I ln0 FE80::800:2B2D:2B2

このコマンドとオプションについての詳細は, ping(8) を参照してください。

11.4    ネットワーク統計情報の表示

netstat コマンドを使用すれば,ソケット,インタフェース,およびルーティング・テーブルに関するネットワーク統計情報を表示することができます。 これらの情報はいくつかの形式で表示することが可能であり,それぞれの形式ごとに強調する情報の種類を指定できます。

表 11-2netstat コマンドのオプションを示します。

表 11-2:  netstat コマンドのオプション

オプション 機能
-A 関連するプロトコル制御ブロックのアドレスを表示します。
-a すべてのソケットの情報を表示します。
-f address_family 指定された種類のアドレスに関する統計情報またはアドレス制御ブロック情報を表示します。 たとえば,inet (IPv4),inet6 (IPv6) などを指定します。
-I interface 指定されたインタフェースの情報を表示します。
-i 自動構成されたインタフェースの状態に関する情報を表示します。
-m メモリ管理の使用状況に関する情報を表示します。
-n ネットワーク・アドレスを (シンボル形式ではなく) 数値形式で表示します。
-r ルーティング・テーブルを表示します。
-s プロトコルごとの統計情報を表示します。
-t インタフェース監視ルーチンが起動するまでの時間を表示します。 (-i オプションと併用します。)

-I オプションは,指定されたインタフェースの統計情報を表示します。付録 A には,-I オプションによるイーサネット,FDDI (Fiber Distributed Data Interface),およびトークン・リングの各インタフェースの監視例と,カウンタ,状態,および属性の説明が記載されています。

-i オプションは,構成されている各ネットワーク・インタフェースの統計情報を表示します。 発信パケット・エラー (Oerrs) はローカル・ホストの問題,受信エラー (Ierrs) はインタフェースが接続されているネットワークの問題をそれぞれ示します。

-f inet は IPv4 のデータのみ,-f inet6 は IPv6 のデータのみをそれぞれ表示するオプションです。 たとえば,netstat -f inet6 -rn コマンドを実行すると,IPv6 のルーティング・テーブルのエントリのみが表示されます。 特に指定しなければ,IPv4 と IPv6 の両方のエントリが表示されます。

netstat -s コマンドは,IPv6 や ICMPv6 を含む全プロトコルの統計情報を表示します。

次の例は,netstat コマンドを -i オプション付きで実行した場合の典型的な出力を示しています。

% netstat -i
Name  Mtu   Network   Address       Ipkts Ierrs    Opkts Oerrs  Coll
ln0   1500  <Link>                8324125     0  8347463     0 237706
ln0   1500  16.31.16  host1       8324125     0  8347463     0 237706
fza0* 4352  <Link>                      0     0        0     0    0
sl0*  296   <Link>                      0     0        0     0    0
sl1*  296   <Link>                      0     0        0     0    0
tra0  4092  <Link>                     34     0       20     0    0
tra0  4092  16.40.15  host21           34     0       20     0    0
lo0   1536  <Link>                 909234     0   909234     0    0
lo0   1536  loop      localhost    909234     0   909234     0    0

この出力では IerrsOerrs はどちらも表示されていません。 したがって,ネットワーク接続に問題が発生していないことがわかります。

netstat コマンドとそのオプションについての詳細は, netstat(1)付録 A を参照してください。

11.5    インターネット (IPv4) アドレスから MAC アドレスへのアドレス変換テーブルの表示および変更

アドレス解決プロトコル (ARP) が使用する,インターネット・アドレスから MAC (Media Access Control) アドレスへの変換テーブルの内容を表示および変更し,次の場合に発生する IPv4 ダイレクト・ルーティングの問題の診断に役立てることができます。

インターネット・アドレスから MAC アドレスへの変換テーブルのエントリを表示するには,arp -a コマンドを使用します。 変換テーブルに変更を加えるには,root でログインして,arp コマンドを次のように使用します。

/usr/sbin/arp [options ] hostname

次に,host1 という名前の IPv4 ホストのイーサネット・アドレスの例を示します。 システムの応答によると,host1 のイーサネット・アドレスが aa-00-04-00-8f-11 であることがわかります。

# /usr/sbin/arp host1
host1 (16.20.32.2) at aa:0:4:0:8f:11 permanent trailers

次の例に,host9 を一時的にシステム変換テーブルに追加する方法を示します。

# /usr/sbin/arp -s host9 0:dd:0:a:85:0 temp

次の例に,host8 をシステム変換テーブルから削除する方法を示します。

# /usr/sbin/arp -d host8

このコマンドについての詳細は, arp(8) を参照してください。

11.6    ネットワーク・ホストまでのデータグラムの経路の表示

ネットワークのテスト,測定,および管理を手動で行うために,ネットワーク・ホストまでのデータグラムのパスを表示できます。

データグラムのパスを表示するには,次の構文に従って traceroute コマンドを使用してください。

traceroute [options...] hostname [packetsize]

表 11-3に,traceroute コマンドのオプションを示します。

表 11-3:  traceroute コマンドのオプション

オプション 機能
-m max_ttl 発信されるプローブ・パケットで使用する ttl (time-to-live) の最大値を設定します。 ttl パラメータは,パケットがデスティネーションに達するために取ることができる最大ホップ数を指定します。 省略時の値は 30 ホップです。
-n ホップのアドレスを,数字と記号の併用ではなく数字だけで表示します。
-p port 発信されるプローブ・パケットで使用する UDP (User Datagram Protocol) のベース・ポート番号を設定します。 省略時の値は 33434 です。 省略時の範囲にあるポートがすでに使用されている場合は,ポート情報を使用して未使用のポート範囲を選択します。
-r 通常のルーティング・テーブルを経由しないで,接続されているネットワーク上のホストにプローブ・パケットを直接送信ます。 直接接続されたネットワーク上にホストがない場合は,traceroute コマンドによってエラーが返されます。
-s IP_address_number 発信されるプローブ・パケットのソース・アドレスとして,指定された IP アドレスを使用します。 2 つ以上の IP アドレスを持つホストに対してこのオプションを使用すると,traceroute コマンドは,他のアドレスを使用しないで必ず指定されたソース・アドレスを使用します。 指定した IP アドレスが,受信側のホストのインタフェース・アドレスのいずれにも一致しない場合は,エラーが返され,プローブ・パケットは送信されません。
-t type-of-service value プローブ・パケットのサービス・タイプを指定された値に設定します。 省略時の値は 0 です。 値は 0〜255 の範囲の 10 進数の整数です。 このオプションは,サービスが異なるとパスも異なるかどうかをユーザに示します。 このオプションが使用できるのは,バークレー UNIX (4.4BSD) の環境だけです。 すべてのサービス・タイプが正当,または有効というわけではありません。 このオプションで有効な値は,16 (低ディレイ) および 8 (高ディレイ) です。 サービス・タイプについての詳細は,RFC 791 の『Internet Protocolを参照してください。
-v 詳細な出力を表示します。 つまり,time exceeded および port unreachable 以外の,受信された ICMP パケットも表示します。
-V version ホスト名が IPv4 アドレスと IPv6 アドレスの両方で解決できる場合に,リゾルバが返却するアドレスを,IP のバージョン番号 (4 または 6) で指定します。 省略すると,traceroute コマンドはホスト名を IPv6 アドレスとして解決してみて,次に IPv4 アドレスとして解決してみます。
-w wait_time プローブに対する応答を待つ時間 (秒) を設定します。 省略時の値は 3 秒です。
packetsize プローブ・パケットのパケット・サイズ (バイト単位) を設定します。 省略時のサイズは 38 バイトです。

traceroute コマンドは,UDP パケット(プローブ・パケット) をリモート・ホストの未使用ポートに送信し,IP ルータからの ICMP 応答を待ちます。 プローブ・パケットは,小さな ttl パラメータを指定して送信されます。 ttl パラメータは,パケットがそのデスティネーションに達するために取ることができる最大のホップ数を指定します。 traceroute コマンドは,ttl を最初に 1 に指定して,プローブ・パケットを 1 つ送信するたびに ttl を 1 つずつ増加させます。 パケットがデスティネーションに達するかまたは,ttl がホップの最大数に達するまでプローブ・パケットの送信を続けます。

traceroute コマンドは,各プローブ・パケットへの応答として,次のいずれかの ICMP メッセージを受信します。

traceroute コマンドは,各 ttl 設定に対してプローブ・パケット (データグラム) を 3 つ送信すると,以下の項目を示す情報を 1 行表示します。

複数の IP ルータがプローブ・データグラムに応答する場合には,traceroute コマンドは,各 IP ルータのアドレスを表示します。 3 秒 (省略時の待ち時間) で応答が得られない場合は,traceroute コマンドはそのプローブ・データグラムに関してアスタリスク (*) を表示します。

次に,host2 に対する traceroute コマンドの成功例を示します。

% traceroute host2
traceroute to host2 (555.55.5.5), 30 hops max, 40 byte packets
 1  host3 (555.55.5.1) 2 ms 2 ms 2 ms
 2  host5 (555.55.5.2) 5 ms 6 ms 4 ms
 3  host7 (555.55.5.3) 7 ms 7 ms 6 ms
 4  host2 (555.55.5.5) 12 ms 8 ms 8 ms

traceroute コマンドを host 引数付きで実行すると,パケットが IPv4 ホストと IPv6 ホストの両方に到着するまでに使用した経路が表示されます。

このコマンドとオプションについての詳細は, traceroute(8) を参照してください。

11.7    ネットワーク上のパケット・ヘッダの表示

特定のネットワーク・サービスに関係するネットワーク・トラフィックをモニタリングしたい場合は,いつでもネットワーク上のパケット・ヘッダを表示させることができます。 これは,要求が受け取られているかあるいは認識されているかを調べるため,またはネットワークの性能が低い場合にネットワーク要求のソースを調べるために行います。

ネットワーク・インタフェースのパケット・ヘッダを表示するには,tcpdump コマンドを使用します。 このコマンドを使用すると,調べるインタフェース,パケット転送の方向,表示するプロトコル・トラフィックのタイプを指定することができます。 また,パケットのソースを調べることもできます。 詳細については, tcpdump(8) を参照してください。

注意

tcpdump コマンドを使用するためには,カーネルに packetfilter オプションを構成してシステムをリブートする必要があります。 詳細については, packetfilter(7) を参照してください。

11.8    エラー・ログ・ファイルの表示

カーネルとハードウェアのエラー診断するには,エラー発生前に記録されたシステム・イベントを参照します。 カーネルとシステム・ハードウェアに関連するエラー・メッセージや,システムの状態,スタートアップ,および診断に関する情報メッセージなどの,システム・イベントによるメッセージは,エラー・ログ・ファイル (/var/adm/binary.errlog) に記録されます。

このログ・ファイルはバイナリ形式で格納されているため,オペレーティング・システムには専用ユーティリティ (Compaq Analyze と DECevent) が用意されています。 これらのユーティリティは,バイナリ・ログ・ファイルを読み取り,データを変換して情報を表示します。 Compaq Analyze と DECevent についての詳細は,それぞれ ca(8)dia(8) を参照してください。

デフォルトでは,これらのユーティリティはオペレーティング・システムにインストールされません。 個別にインストールしなければなりません。

Compaq Analyze は,Associated Product CD-ROM に収録されている WEBES (Web-Based Enterprise Services) キット (診断ユーティリティのセット) の一部です。 WEBES キットについての詳細は,次の URL を参照してください。

http://www.compaq.com/support/svctools/webes

DECevent は,Associated Product CD-ROM に収録されているほか,Webサイトからダウンロードすることもできます。 DECevent キットについての詳細は,次の URL を参照してください。

http://www.compaq.com/support/svctools/decevent

Compaq Analyze と DECevent で変換したエラーをイベント・ビューアで表示する方法については,『システム管理ガイド』を参照してください。 また,これらのユーティリティを使用しないで表示する方法については, uerf(8) を参照してください。

11.9    syslogd デーモンのメッセージ・ファイルの表示

IPv4 (Internet Protocol Version 4) や IPv6 (Internet Protocol Version 6) のアクセス制御の問題など,セッション層で発生した問題の診断には,syslogd デーモンが役立ちます。

syslogd デーモンは,システムのブート時と,システムがハングアップ・シグナルを受信したときに起動されます。 このデーモンは特に指定しなければ,これらのイベントのシステム・メッセージを,/var/adm/syslog.dated ディレクトリ内のファイル群に (/etc/syslog.conf ファイルの指定に応じて) 記録します。 システム・メッセージは,メッセージに含まれている優先順位コードに応じて,エラー状況や警告を示します。

システム・メッセージ・ファイルの内容はコマンド行から参照することもできますが,ファイルへのアクセスが簡単になることや,特定の問題を見つけやすくなることから,SysMan Menu ユーティリティの一部であるイベント・ビューアを使用して表示します。 イベント・ビューアを起動するには,1.2.1 項で説明されている手順に従って SysMan Menu を起動し,[Monitoring and Tuning-->View events] を選択します。 次のコマンドをコマンド行で実行してイベント・ビューアを起動することもできます。

# /usr/bin/sysman event_viewer

イベント・ビューアが表示されると,ログ・エントリのソートや,エントリのフィルタ(確かなイベント名,優先レベル,ポストしているホストまたは日付について),個々のエントリについてのさらに詳細な情報を得るのに使用することができます。

イベント管理とシステム・ログ・ファイルへのアクセス方法についての詳細は, evm(5)syslogd(8),『システム管理ガイド』,およびオンライン・ヘルプを参照してください。