徒然の亡備録 庭、草木のページ 巨峰lのページ
家庭菜園のページ 沼津近郊のページ 健康のコラム
パソコンスキルUPのページ
(過去のページ)
毛玉のページ ヒヨドリの産卵 金魚(池)のページ

ネットワークコマンドの使い方

route netstat
ping nslookup
traceroute(tracert) nbtstat
arp telnet
ipconfig その他のコマンド


https://www.cman.jp/network/support/go_access.cgi

route


route
〜ルーティングテーブルの表示/設定を行う

●Windowsの場合
route[ -f][ -p][ PRINT| ADD| DELETE| CHANGE[ 宛先IPアドレス][ MASK サブネットマスクアドレス[ ゲートウェイIPアドレス][ METRIC メトリック数][ IF インターフェイス名]]
-f
ルーティングテーブルのすべての経路情報をクリアする
-p
ADD(追加)時に指定すると、追加した経路は次回以降のOS起動時にも自動的に追加される。指定しない場合は今回限りの設定となる。PRINT(表示)時に指定すると、このオプションで追加した経路のみを表示する*1
PRINT
ルーティングテーブルを表示する
ADD
経路を追加する
DELETE
経路を削除する
CHANGE
すでに登録されている経路を変更する
MASK
経路が使用するサブネットマスクアドレスを指定する
ゲートウェイIPアドレス
経路が使用するゲートウェイIPアドレスを指定する
METRIC
経路のメトリック値を1〜9999までの範囲で指定する
IF
経路が割り当てられるインターフェースを指定する。インターフェイス名は「route PRINT」で表示される「Interface List」の16進値を指定する。省略されるとゲートウェイIPアドレスから最適と考えられるインターフェイスを自動選択する
●Linuxの場合
――ルーティングテーブルの表示
route[ -n][ -v][ -e| -ee][ -F][ -C][ -A アドレスファミリ名]

――経路の追加
route[ -v][ -F] add{ -host| -net} 宛先IPアドレス[/プレフィックス][ gw ゲートウェイIPアドレス][ metric メトリック数][ netmask サブネットマスクアドレス][ mss MSSサイズ][ window TCPウィンドウサイズ][ irtt 初期ラウンドトリップ時間][ mod][ dyn][ reinstate][[dev] インターフェイス名]

――拒否経路の追加
route[ -v][ -F] add{ -host| -net} 宛先IPアドレス[/プレフィックス][ metric メトリック数] reject

――経路の削除
route[ -v][ -F] del{ -host| -net} 宛先IPアドレス[/プレフィックス][ gw ゲートウェイIPアドレス][ metric メトリッ ク数][[dev] インターフェイス名]

――バージョン情報の表示
route{ -V| --version}

――ヘルプの表示
route{ -h| --help}[ -A アドレスファミリ名]
-n
出力をIPアドレスのみに抑制する(DNS逆引きを行わない)
-v
詳細モード
-e
netstatと同様のフォーマットで表示する。-eeはnetstat形式のデータも含めた詳細情報を表示する
-F
FIB(Forwarding Information Base:Linuxにおけるルーティングテーブルの実装方式。宛先IPアドレスをキーに経路情報を効率的に配置して性能の向上を図っている)テーブルを用いる。デフォルト
-C
カーネルキャッシュでの情報を表示する
-A
プロトコル種別。デフォルトは「inet(IPv4)」。ほかに「ipx(IPX)」「inet6(IPv6)」などが使用できる
add
経路を追加する
del
経路を削除する。削除する経路は宛先IPアドレスなど追加時に指定したパラメータが一致する経路である
-host
ホストのための経路情報として登録する
-net
ネットワーク(サブネット)のための経路情報として登録する
宛先IPアドレス
経路の宛先IPアドレス
gw
経路が使用するゲートウェイIPアドレスを指定する
metric
経路のメトリック値を指定する
netmask
経路が使用するサブネットマスクアドレスを指定する
mss
経路におけるMSS(Maximum Segment Size:TCPパケットの最大データサイズ)を指定する。デフォルトはインターフェイスのMTU(ifconfigコマンドで指定)から導かれる。単位はバイト
window
TCPにおけるwindowサイズを指定する。windowsサイズはTCPコネクションにおける最大連続転送サイズである。単位はバイト
irtt
経路におけるTCPの初期ラウンドトリップ時間を指定する。ラウンドトリップ時間はTCPコネクションにおける通信途絶を判断するまでのタイムアウト時間である。単位はミリ秒。1〜12000の範囲で指定する
mod/dyn/reinstate
ダイナミックルーティング時などに利用される診断用フラグを設定する
dev
経路が割り当てられるインターフェイス名を指定する。インターフェイス名の指定がすべてのパラメータの最後である場合にはdevキーワードは省略できる
reject
ルーティングを拒否する経路を指定する。デフォルトゲートウェイより優先するので、このホストで簡易に特定のネットワークへのルーティングを禁止したい場合には便利だ
-V
バージョン情報を表示する
-h
ヘルプを表示する


 使用方法

ルーティングテーブルを確認する

 Windowsでは「route PRINT」、Linuxでは「route」で現在のルーティングテーブルを確認できる。それぞれ細かな点で出力内容が異なる。

●Windowsでの使用例
C:\>route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x1000003 ...00 a0 b0 16 91 92 ...... I-O DATA ET100-PCI-S Fast Ethernet Adapter

=============================================================================
=============================================================================
Active Routes:
Network Destination(1)     Netmask(2)       Gateway(3)    Interface(4) Metric(5)
          0.0.0.0          0.0.0.0    192.168.1.254    192.168.1.10         1
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1         1  <--(c)
      192.168.1.0    255.255.255.0     192.168.1.10    192.168.1.10         1  <--(b)
     192.168.1.10  255.255.255.255        127.0.0.1       127.0.0.1         1  <--(a)
    192.168.1.255  255.255.255.255     192.168.1.10    192.168.1.10         1
        224.0.0.0        224.0.0.0     192.168.1.10    192.168.1.10         1
  255.255.255.255  255.255.255.255     192.168.1.10    192.168.1.10         1
Default Gateway:     192.168.1.254                                             <--(d)
=============================================================================
Persistent Routes:
  None


●Linuxでの使用例
[root@host1 ~]# route
Kernel IP routing table
Destination(1)  Gateway(3)      Genmask(2)      Flags Metric(5) Ref    Use Iface(4)
host1           *               255.255.255.255 UH    0         0        0 eth0  <--(a)
192.168.1.0     *               255.255.255.0   U     0         0        0 eth0  <--(b)
127.0.0.0       *               255.0.0.0       U     0         0        0 lo    <--(c)
default         192.168.1.254   0.0.0.0         UG    0         0        0 eth0  <--(d)

●経路の追加
 経路をルーティングテーブルに追加するには、Windows/Linuxともに「route add」コマンドを用いる。

●Windowsでの使用例


●Linuxでの使用例


ping

ping
〜ネットワークの疎通を確認する

pingは、ネットワーク疎通を確認したいホストに対してIPパケットを発行し、そのパケットが正しく届いて返答が行われるかを確認するためのコマンド。この調査にはICMPを用い、さまざまなエラーに応じたステータスを把握することも可能。

●Windowsの場合
ping[ -t][ -a][ -n 試行回数][ -l パケットサイズ][ -f][ -i TTL][ -v TOS][ -r ルータ個数][ -s ルータ個数][[ -j ゲートウェイ・リスト]|[ -k ゲートウェイ・リスト]][ -w タイムアウト時間] 疎通確認対象先ホスト(ホスト名またはIPアドレス)
-t
ユーザーからの停止が要求されない限り、パケットの送受信を無限に繰り返す。停止するには「Ctrl」+「C」を押す
-a
指定された対象先ホストがIPアドレスであった場合には、ホスト名をDNSから逆引きして表示する
-n
パケット送受信の回数(試行回数)を指定する
-l
パケットのデータ部サイズを指定する。デフォルトは32バイト(指定範囲は0から6550)
-f
IPパケットの分割(フラグメント)を禁止する
-i
パケットのTTL(Time To Live)を指定された値に設定する
-v
パケットのTOS(Type Of Service:サービスタイプ)を指定された値に設定する
-r
IPパケットのオプション部(Route Recording)に、経由したルータのアドレスを記録する(最大9個まで)
-s
IPパケットのオプション部(Time Stamping)に、経由したルータのアドレスと時間を記録する(最大4個まで)
-j
経由すべきゲートウェイ(ルータ)のアドレスを最大9個まで指定できる。ただし、指定されていないゲートウェイも経由できる(loose source routed)
-k
経由すべきゲートウェイ(ルータ)のアドレスを最大9個まで指定できる。ただし、指定されていないゲートウェイは経由しない(strict source routed)
-w
タイムアウト時間を指定する。単位はミリ秒

●Linuxの場合

ping[ -LRdfnqrv][ -c 試行回数][ -i 間隔時間][ -w 起動時間][ -p パディング・パターン][ -s パケットサイズ][ -t TTL][ -I インターフェイス・アドレス] 疎通確認対象先ホスト(ホスト名またはIPアドレス)
-L
マルチキャストのループの制限を行う
-R
IPバケットのオプション部(Route Recording)に経由したルータのアドレスを記録する(最大9個まで)
-d
パケットのSO_DEBUGオプションを指定する
-f
Flood pingモードを指定する
-n
出力をIPアドレスのみに抑制する(DNS逆引きを行わない)
-q
出力抑制モード。途中経過を表示しない
-r
ルーティングテーブルを無視して、指定したホストに直接パケットを転送するように指示する。すなわち、同一の物理ネットワーク上に目的のホストがない場合はエラーになる
-v
詳細モード。通常は無視される他のICMPパケットも表示する
-c
パケット送受信の回数(試行回数)を指定する
-i
送信パケットの間隔時間。デフォルトは1秒。-fオプションと同時に指定できない
-w
コマンドの起動時間を指定する。単位は秒
-p
パケットのパディング(埋め合わせ)データのパターンを指定する。例えば、「ff」はすべてのデータを「1」で埋めることを示す
-s
パケットのデータ部サイズを指定する。デフォルトは56バイト
-t
パケットのTTLを指定された値に設定する
-I
指定されたインターフェイス(ネットワークカード名。バインドされたIPアドレスでも可)を用いて実行する

結果から何が分かるか

対象ホストとのネットワーク疎通が正常であること
 pingコマンドが成功すれば、物理的なネットワークまでは正常に機能していることは確認できる。

●ネットワーク性能の推測
 statisticsの表示からネットワークのスループットが推測できる。

失敗例からネットワーク障害を推測する

●失敗例1:IPアドレスへのルーティング不可時など
(存在しないIPアドレス/ネットワーク指定)

C:\>ping 192.168.10.1

Pinging 192.168.10.1 with 32 bytes of data:

Reply from 203.100.100.49: Destination net unreachable.
Reply from 203.100.100.49: Destination net unreachable.
Reply from 203.100.100.49: Destination net unreachable.
:

 経過で現れている203.100.100.49は、(おそらくは)エラーを報告しているルータのIPアドレスを示している。経路上、このルータの時点でルーティングが不可であることが確認されたのだろうと理解できる。

●失敗例2:ルーティング設定ミスによるループ

C:\>ping 150.224.XXX.XXX

Pinging 150.224.XXX.XXX with 32 bytes of data:

Reply from 130.XXX.76.17: TTL expired in transit.
Reply from 130.XXX.76.17: TTL expired in transit.
Reply from 130.XXX.76.17: TTL expired in transit.
Reply from 130.XXX.76.17: TTL expired in transit.

Ping statistics for 150.224.XXX.XXX:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum =  0ms, Average =  0ms

 TTL(Time To Live)の超過によるエラーがルータから報告されている

●失敗例3:ホスト名解決の失敗

C:\>ping www.unknown.net
Unknown host www.unknown.net.

 これは、パケット送出以前に、DNS検索においてIPアドレスの名前解決に失敗している。おそらくはホスト名が間違っているか、DNSの設定ミスであることが推測される。

●失敗例4:対象ホストが停止

C:\>ping host1.example.net

Pinging host1.example.net [211.XXX.XXX.190] with 32 bytes of data:

Request timed out.
Request timed out.
Request timed out.
Request timed out.
:

注意
実行結果が「Request timed out.」となって応答パケットが返ってこない場合,通常なら何らかのトラブルでネットワークに接続できていないはず。それなのに,ネットワーク接続はできているというケースがある。これは,相手のセキュリティ対策でWindowsファイアウォールがpingコマンドに対して応答しない設定になっている可能性がある。

参考

TTL(time to live)の初期値はホストのOSによって決まっている。例えばWindowsは128から,Linuxは64から,Solarisは255から

traceroute(tracert)

〜ネットワークの経路を調査する

tracertコマンドでは,TTLと時間超過メッセージをうまく使って,経路にあるルーターの情報と往復時間を調べている。

 tracertコマンドを実行すると,送信元のパソコンはTTLを「1」に設定してエコー要求パケットを送信する。TTLが1なので,最初のルーター1でTTLが一つ減らされて「0」となる。このためルーター1は次のルーター2にパケットを転送せずに廃棄し,送信元のパソコンに対して時間超過メッセージを送る。

 このメッセージの送信元アドレスから,送信元のパソコンは最初に経由するルーター1のIPアドレスがわかる。DNSサーバーで逆引きができる設定になっていれば,ルーター1のドメイン名もわかる。さらに往復にかかった時間も合わせて表示する。

 次に送信元のパソコンは,TTLを「2」に設定して,再びエコー要求パケットを送る。このパケットは,最初のルーター1を通過して,2番目のルーター2に到達する。ここでTTLが「0」になるのでルーター2はパケットを廃棄して,送信元のパソコンへ時間超過メッセージを返す。時間超過メッセージを受け取ったパソコンは,ルーター2のIPアドレスとドメイン名,往復時間を表示する。

 このように送信元のパソコンは,あて先のホストに到達するまでTTLを一つずつ増やして,エコー要求パケットを送信し続ける。エコー要求パケットがあて先のホストに到達する。送信元のパソコンがこのメッセージを受信すると,tracertコマンドの処理は完了する。


 書式
●Windowsの場合
tracert[ -d][ -h 最大ホップ数][ -j ゲートウェイ・リスト][ -w タイムアウト時間] 対象ホスト(ホスト名またはIPアドレス)

例tracert -w 2000 abc.def.co.jp / tracert −h 10 abc.def.jp

-d
結果に表示するIPアドレスからDNSホスト名への名前解決を行わない
-h
使用する最大TTL。つまりここで指定した数のルータしかホップしない
デフォルトは30
-w
タイムアウト時間を指定する。単位はミリ秒
デフォルトは1000ミリ秒

●Linuxの場合

traceroute[ -dFInrvx][ -g ゲートウェイ・リスト][ -i インターフェイス][ -f 初期TTL値][ -m 最大TTL値][ -p ポート番号][ -q 試行回数][ -s 送信元アドレス][ -t TOS][ -w タイムアウト時間] 対象ホスト(ホスト名ま たはIPアドレス)[ パケットサイズ]
-d
デバックモードで動作する
-F
IPパケットの分割(フラグメント)を禁止する
-I
UDPパケットではなく、ICMP Echo Requestを用いる
-n
出力をIPアドレスのみに抑制する(DNS逆引きを行わない)
-r
ルーティングテーブルを無視して直接パケットを指定したホストに転送するように指示する。すなわち、同一の物理ネットワーク上に目的のホストがない場合はエラーになる
-v
詳細モード
-x
ICMPのCheckSumの評価を行う
-g
経由すべきゲートウェイ(ルータ)のアドレスを最大8個まで指定できる。ただし指定されていないゲートウェイも経由できる(loose source routed)
-i
指定されたインターフェイス(ネットワークカード名)を用いて実行する
-f
使用するTTLの初期値を指定する。つまりこの初期値のホップ数のゲートウェイからの表示となる
-m
使用するTTLの最大値を指定する。つまりこの最大値のホップ数のゲートウェイまでの表示となる
-p
使用するUDPパケットのポート番号を指定する(DPパケットを使用する場合のみ)
-q
1つのゲートウェイに対する試行回数を指定する。デフォルトは3
-s
指定されたIPアドレスから実行する(Source Addressを指定する)
-t
パケットのTOS(Type Of Service:サービスタイプ)を指定された値に設定する
-w
タイムアウト時間を指定する。単位は秒。デフォルトは5秒

 使用方法

 最も簡単な使用方法は、引数として経路を調査したいホストを指定する。ホスト名かIPアドレスが指定できる。

●Windowsでの使用例

C

C:\>tracert www.example.net

Tracing route to example.net [128.9.176.32]    <---(1)
over a maximum of 30 hops:                        <---(2)

  1    40 ms    40 ms    70 ms  gate.isp.xx.jp [203.xxx.xxx.xxx]                    <---+
  2    40 ms    40 ms    40 ms  tokyo-gate.isp.xx.jp [203.xxx.xxx.xxx]                  |

arp

〜ARPテーブルの表示/設定を行う

 書式
●Windowsの場合
――ARPテーブルへの追加
arp -s IPアドレス MACアドレス[ インターフェイス]

――ARPテーブルの削除
arp -d IPアドレス[ インターフェイス]

――ARPテーブルの表示
arp -a[ IPアドレス][ -N インターフェイス]
-s
ARPテーブルへ指定されたIPアドレスとMACアドレスのエントリー追加を行う インターフェイス ARPテーブルが対象とするインターフェイスを指定する。省略された場合は、IPアドレスなどから自動決定する
-d
指定されたIPアドレスのエントリーを削除する
-a
ARPテーブルを表示する。IPアドレスやインターフェイスが指定された場合は、該当するエントリーのみを表示する

●Linuxの場合

――ARPテーブルへの追加
arp[ -v][ -H ハードウェアタイプ][ -i インターフェイス] -s ホスト名(IPアドレス) MACアドレス[ temp][ nopub]

――Proxy ARPのためのエントリーの追加
arp[ -v][ -H ハードウェアタイプ][ -i インターフェイス] -s ホスト名(IPアドレス) MACアドレス[ netmask サブネットマスクアドレス] pub

arp[ -v][ -H ハードウェアタイプ][ -i インターフェイス] -Ds ホスト名(IPアドレス) 使用したいMACアドレスを持つインターフェイス[ netmask サブネットマスクアドレス] pub

――ARPテーブルへのファイルからの一括追加
arp[ -vnD][ -H ハードウェアタイプ][ -i インターフェイス] -f[ ファイル名]

――ARPテーブルの削除
arp[ -v][ -i インターフェイス] -d ホスト名(IPアドレス)[ pub][ nopub]

――ARPテーブルの表示
arp[ -vn][ -H ハードウェアタイプ][ -i インターフェイス][ -a][ ホスト名(IPアドレス)]
オプションなし
-aとほぼ同様の表示を行う
-v
詳細モード
-H
arpは本来イーサネット以外のデータリンク層でも使用できるようにデザインされている。このパラメータで使用するデータリンクのプロトコルをハードウェアタイプとして指定できる。デフォルトはイーサネット(ether)。ほかにトークンリング(tr)なども指定できる
-i
エントリーが対応するインターフェイスを指定する
-s
ARPテーブルへ指定したホスト名(またはIPアドレス)とMACアドレスのエントリーを追加する
temp
このエントリーがキャッシュであり(つまり定期的に削除されるかもしれない)、永続的でないことを示す。省略されると永続的なエントリーとなり、削除されない
nopub
このエントリーがProxy ARPのためのエントリーでないことを示す
netmask
このエントリのサブネットマスクを指定して、あるサブネット全体のためのエントリーであることを示す。ただし、カーネル2.2.0以降では指定できないようだ
pub
このエントリーがProxy ARPのためのエントリーであることを示す
-n
出力をIPアドレスのみに抑制する(DNS逆引きを行わない)
-D
MACアドレスの代わりにインターフェイスを指定すると、そのインターフェイスのMACアドレスを使用する
-f
指定したファイルに複数指定されたエントリーを一括追加する。ファイル名が省略されると、「/etc/ethers」が使用される
-d
ARPテーブルから指定されたホスト名のエントリーを削除する
-a
ARPテーブルの内容を表示する。ホスト名が指定されると該当のエントリーのみを表示する


 使用方法

ARPテーブルの表示

 ARPテーブルの内容を参照するには「-a」オプション(またはオプションなし)を指定する。

●Windowsでの使用例
C:\>arp -a

Interface: 192.168.1.10 on Interface 0x1000003(4)
  Internet Address(1)   Physical Address(2)   Type(3)
  192.168.1.1           00-20-88-d5-b4-2f     dynamic
  192.168.1.11          00-30-98-58-07-21     dynamic
  192.168.1.20          00-20-78-c5-a4-1f     static

エントリーのタイプ
OSにより、格納できるエントリーにいくつかの違いがある

●Windowsの場合
エントリー
意味
dynamic
通常のキャッシュ・エントリー。このエントリーが一定期間再利用されない場合は、テーブルから自動削除される
static
永続的エントリー。キャッシュとは異なり、一定期間再利用されなくとも削除されない。キャッシュ・エントリーは、OSがARPにより取得して格納したエントリーだが、staticはユーザーが明示的に追加したエントリーに限られる


●Linuxの場合
エントリー
意味
C
通常のエントリー。このフラグだけの場合はエントリーが一定期間再利用されないと、テーブルから自動削除される
M
永続的エントリー。Windowsのstaticと同義。一定期間再利用されなくとも削除されない
P
Proxy ARP用エントリー。ほかのホストからのARP要求があれば、このエントリー内容を応答する。これ以外のエントリーの情報は、ほかのホストからのARP要求に対して提供されることはない。そのため、Proxy ARP用エントリーは「Publicエントリー」などとも呼ばれる。通常、このエントリーでは、MACアドレスはその応答するインターフェイスのMACアドレスであり、IPアドレスは別のインターフェイスに接続されたネットワークにあるホストのIPアドレスである(つまり、MACアドレスは自身のインターフェイスのものだが、IPアドレスは別のホストのもの)

ARPテーブルの追加/削除

●ARPテーブルへの追加例(Windowsの場合)
C:\>arp -s 192.168.1.20 00-20-78-d5-b4-2f
            IPアドレス    MACアドレス


●ARPテーブルへの追加例(Linuxの場合)
[root@host1 ~]# arp -s 192.168.1.100 00:70:98:A8:07:12
                        IPアドレス       MACアドレス

ipconfig

〜Windowsのネットワーク設定を確認する
コンピュータを再始動せずにDHCPクライアントリースを更新/解放する機能がある。

 書式

IPconfig [all]
IPconfig /renew[接続名]
IPconfig /release[接続名]
IPconfig /registerdns

/all ipconfigコマンドで表示可能な全てのネットワーク設定情報を表示する
/renew[接続名] 指定した接続名のDHCPクライアントリースを書き換える。接続名を省略すると、全ての接続が更新対象になる。
/release[接続名] 指定した接続名のDHCPクライアントリースを解放する。接続名を省略すると、全ての接続が解放対象になる。
/registerdns DHCPクライアントリースを更新し、DNSネームサーバへのDNS名とIPアドレスの動的登録を手動で開始する。

netstat

〜ホストのネットワーク統計や状態を確認する
ホストのネットワーク接続状態やソケット/インターフェイスごとのネットワーク統計などを確認するためのコマンド。
ホストが現在実行している接続一覧とそのステータスを確認できるほか、IPやTCP/UDP以下の各パケット統計やエラー状態なども調べられる。

 書式
●Windowsの場合
netstat[ -a][ -e][ -n][ -s][ -p プロトコル][ -r][ インターバル]
オプションなし
現在の有効な接続(ESTABLISHED)のみを表示する
-a
現在のすべての接続を表示する
-e
インターフェイス・レベル(イーサネット)の統計情報を表示する
-n
出力をIPアドレスなど数値のみに抑制する(DNS逆引きを行わないなど)。ほかのオプション内容へ影響する
-s
プロトコルレベル(IP/TCP/UDP/ICMP)の統計情報を表示する
-p
プロトコルごとの接続をリストする。プロトコルにはTCPかUDPを指定する。-sとともに使用すると、そのプロトコルに関する情報のみの表示を行う
-r
ルーティング・テーブルを表示する
インターバル
この間隔で連続自動実行する。単位は秒

●Linuxの場合

――接続一覧表示
netstat[ -vnNcaeol][ ソケットレベル]

――インターフェイスごとの統計表示
netstat[ -veenNac] -i

――マスカレード機能の統計表示
netstat[ -cnNe] -M

――ネットワーク全般の統計表示
netstat -s[ ソケットレベル]

――ルーティング・テーブルの表示
netstat[ -veenNcCF][ -A アドレスファミリ名] -r

――ヘルプやバージョン表示
netstat -V
netstat -h
オプションなし
現在の有効な接続(ESTABLISHED)のみを表示する
-v
詳細モード
-n
出力をIPアドレスなど数値のみに抑制する(DNS逆引きを行わないなど)。ほかのオプション内容へ影響する
-N
インターフェイス名の解決を行う
-c
連続表示
-a
現在のすべての接続を表示する
-e
拡張表示モード。eeでさらに拡張された表示を行う(主に-rオプションと組み合わせて用いる)
-o
ネットワーク・タイマを表示する
-l
LISTEN状態の接続のみを表示する
ソケットレベル
表示するソケット種別を指定する。TCP(「-t」または「--tcp」)、UDP(「-u」または「--udp」)、そのほかRAWやICMPなど(「-w」または「--raw」)、UNIXドメイン・ソケット(「-x」または「--unix」:-sオプションでは無効)などが指定できる。省略されると表示可能なソケットすべて
-i
インターフェイスごとのパケット統計を表示する
-M
マスカレード接続の表示を行う
-s
ネットワーク統計を表示する
-t | -u | -w
TCP(「-t」)、UDP(「-u」)、そのほかIPとICMP(「-w」)のみ表示する
-C
カーネル・キャッシュでのルーティング・テーブル情報を表示する
-F
FIB(Forwarding Information Base:Linuxにおけるルーティング・テーブルの実装方式。あて先IPアドレスをキーに経路情報を効率的に配置して、性能の向上を図っている)。テーブルからのルーティング・テーブル情報を表示する
-r
ルーティング・テーブル情報を表示する
-A
プロトコル種別ごとに結果を表示する。デフォルトは「inet(IPv4)」。「ipx(IPX)」「inet6(IPv6)」などが使用できる
-V
バージョン情報を表示する
-h
ヘルプを表示する
表1●netstatコマンドの実行結果に出てくる主な接続状態
LISTENING 通信相手からの接続を待っている状態
SYA_SENT 通信相手に接続要求を送った状態
ESTABLISHED 通信相手と接続した状態
FIN_WAIT 接続の終了処理中
CLOSE_WAIT 接続相手から終了パケットを受け取り、終了処理を行っている状態
TIME_WAIT 終了待ち状態

 

 使用方法

ネットワーク接続一覧の確認

Windows/Linuxともに、「netstat -a」コマンドによって、現在のネットワーク接続の一覧が表示される。

ネットワーク統計情報

 「netstat -s」は、ホストのネットワーク統計情報を表示する。IPやTCP/UDP、ICMPといったプロトコルごとの統計情報が確認できる。それぞれ、該当するOSのプロトコル・スタックごとに処理された結果となっている。

ネットワーク統計情報

「netstat -s」は、ホストのネットワーク統計情報を表示する。IPやTCP/UDP、ICMPといったプロトコルごとの統計情報が確認できる。

ルーティング・テーブルの確認

「netstat -r」でルーティング・テーブルの表示が行える。表示される内容などはROUTEコマンドとほぼ同様。

ns用方法

nslookup

〜DNSサーバに名前解決の問い合わせを行う

DNSクライアントの名前解決機能を手動実行するためのコマンド。正引き/逆引き、Aレコード/NSレコード/MXレコードなどのレコード種類の絞込み検索や、再帰検索/イテレイティブ検索、DNSサーバの任意切り替え、デバッグの実行など、さまざまなオプションからDNS検索の診断が行える。

 書式
nslookup[ -setコマンド・オプション][ ホスト・ドメイン名またはIPアドレス[ -DNSサーバ名]]

一般的なコマンド・ライン・モードのほか、ホスト・ドメイン名やIPアドレスが与えられていない場合には、対話モードで使用できる。対話モードでは、コマンドを指定することで、DNSサーバ切り替えやゾーン情報の参照なども行える。またLinuxでは、ユーザーのホーム・ディレクトリの「.nslookuprc」ファイルにオプションを記載して、実行時に自動指定しておくこともできる。
オプションなし
対話モードで実行する
setコマンド・オプション
setコマンドのオプションを指定して設定する
ホスト・ドメイン名
または
IPアドレス
ホスト・ドメイン名を指定した場合は正引き(Aレコード検索)、IPアドレスを指定した場合には逆引き(PTRレコード検索)が行われる
DNSサーバ名
接続するDNSサーバを指定する
●コマンド・ライン・モード時

ホスト・ドメイン名またはIPアドレス[ DNSサーバ名]

下記のコマンド以外の文字列が入力された場合、ホスト・ドメイン名またはIPアドレスが入力されたと解釈して、正引きまたは逆引きを実行する。DNSサーバ名も指定された場合には、そのDNSサーバに対して問い合わせを実行する
all
現在の設定オプションを表示する
debug | nodebug
デバッグ・モードを指定する。nodebugでこれを解除する
d2 | nod2
より詳細なデバッグ・モードを指定する。nod2でこれを解除する
defname | nodefname
デフォルト・ドメイン名を指定したホスト・ドメイン名に自動的に付加して検索する。例えばwwwと指定された場合に、デフォルト・ドメイン名であるexample.netを付加してwww.example.netとして検索する。nodefnameはこの動作を解除する
recurse | norecurse
recurseは再帰検索を指定する。norecurseはイテレイティブ検索(反復検索: 再帰検索を行わずDNSサーバが管理するゾーン情報のみへの一度の検索のみ)を指定する
search | nosearch
ドメイン・サーチ・リストを付加して検索する。nosearchはこれを解除する
vc | novc
TCP接続による検索を行う。novcはUDP接続での通常の検索を行う(ただし通常は、回答されるデータ・サイズがUDPパケット・サイズを越えている場合(トランケーション・エラー)に、あらためてTCP接続で検索される)
domain=ドメイン名
デフォルト・ドメイン名を指定する
srchlist=ドメイン名[/ドメイン名 ……]
ドメイン・サーチ・リストを指定する。複数のドメインを指定でき、検索時に指定されたホスト名に自動的に付加して、それぞれの名前で成功するまで試行する
root=DNSサーバ名
ルートDNSサーバを指定する
retry=試行回数
検索失敗時の試行回数を指定する
timeout=タイムアウト秒数
DNSサーバに対するタイムアウトを秒数で指定する
querytype=検索レコード種別 | type=検索レコード種別
検索対象とするレコード種別を指定する。「'A'」「'SOA'」「'NS'」「'MX'」など
port=ポート番号
DNSサーバへ接続する際のポート番号を指定する。通常は'53'番
class=クラス名
検索するレコード・クラスを指定する。通常はデフォルトである「'IN'(internet)」を指定する
msxfr | nomsxfr*1
高速ゾーン転送モード(many-answers)を指定する。nomsxfrはこれを解除する
ixfrver=シリアル番号*1
IXFR(Incremental Zone Transfers:差分ゾーン転送(RFC1995))モードを使用するとともに、現在のシリアル番号を指定する

ドメインを管理しているDNSサーバーを調べるときは以下のように打ち込む。

 >set type=ns

>URL入力するとDNSサーバーの状態がわかる

server DNSサーバ名
使用するDNSサーバを、指定したサーバに変更する(デフォルト・サーバの変更)。その際に、サーバのIPアドレスは現在指定されているDNSサーバを用いて検索する

lserver DNSサーバ名
使用するDNSサーバを、指定したサーバに変更する(デフォルト・サーバの変更)。その際に、サーバのIPアドレスはルート・ネーム・サーバから再帰検索して判断する

finger[ ユーザー名]
現在のデフォルト・サーバに対してfinger(指定されたユーザー情報の問い合わせ)を実行する

root
現在のデフォルト・サーバをルート・ネーム・サーバとする

ignoretc | noignoretc
トランケーション・エラーを無視する。つまり、TCP接続による再度の検索は行わない。noignoretcはこれを解除する

ls[ オプション] ドメイン名[ >|>> 出力ファイル名]
指定したドメインのゾーン情報を表示する。これは、通常プライマリ・サーバからセカンダリ・サーバに対して行うゾーン転送と同様の動作である。指定した出力ファイルに内容を出力して、新規作成または追記することもできる。また以下のオプションが指定できる

オプションなし
ホストのエイリアス(CNAMEレコード)のみを表示する
-v
ホスト情報(HINFOレコード)のみを表示する
-n
ホストのサービス情報(WKSレコード)のみを表示する
-N
すべてのレコードを表示する
-t レコードタイプ
任意のレコードタイプを表示する。例えば「-t cname」は-aオプションと同義となる

view 出力ファイル名*1
(lsコマンドで作成された)出力ファイルを表示する

exit
対話モードを終了する

help | ?
ヘルプを表示する

*1Windowsのみ

nbtstat

〜NBTの統計情報とNetBIOS名キャッシュを表示する

NetBIOSの名前解決に関する統計情報と「NetBIOS overTCP/IP(NBT)」使用したTCP/IP接続情報を表示する

 書式

Nbtstat [-aコンピュータ名][−A IPアドレス][−c][-n][ーr][−R][−s][−S][間隔]

-aコンピュータ名 指定したリモートコンピュータ名のNetBIOS名キャッシュの内容を表示する
-A IPアドレス 指定したIPアドレスをもつリモートコンピュータのNetBIOS名キャッシュの内容を表示する
-c [-a][−A]オプションと併用することで名前を提供するIPアドレスと、名前解放までの生存時間つきでNetBIOS名キャッシュの内容を表示する。このオプションを単独で使用した場合は、ローカルコンピュータのNetBIOS名キャッシュを表示する。
−n ローカルコンピュータのNetBIOS名キャッシュの内容を表示する。「Registerd」と表示される名前は、ブロードキャストまたはWINSにより登録されたことをしめす
-r ローカルコンピュータにおけるNetBIOS名前解決の統計情報を表示する
-R ローカルコンピュータのNetBIOS名キャッシュの内容を削除し、再構築する
-s NetBIOSの現在のセッションを名前で表示する
-S NetBIOSの現在のセッションをIPアドレスで表示する
間隔 指定した秒間隔で統計情報を再表示する。(Controlキイ)+(cキー)でコマンドを終了する。

 使用方法

nbtstat −A 192.168.1.1
nbtstat −s

従来のWindowsネットワークにおけるファイル/プリンタ共用、ブラウジング(共有資源の検索、参照)では、NBTが使用されている。
NBTは「Server Message Block(SMB)」プロトコルをTCP/IPで利用可能にする

nbname 137/UDP(TCP) NetBIOSName Service
nbdataggram 138/UDP NetBIOS Datagram Service
nbsession 139//TCP NetBIOS session Service

WindowsXP/2000では、SMBをTCP/IP上に直接実装した「ダイレクトホスト」により、NBTを使用せずにファイル/プリンタ共用が可能。

microsoft-ds 445/UDP
microsoft-ds
445/TCP

telnet

〜プロトコルテストに使えるリモート端末

windowsXP/2000やUNIXコンピュータ、ルータなどのIPネットワーク機器で稼動するサーバーに接続し、コマンドラインからの操作を可能にするリモート端末エミュレータ。リモートコンピュータのコマンドプロンプトを操作し、ネットワークの設定、トラブルシューチングに使用することが出来る。windowsXP/2000では管理ツールの「サービス」で「Telnet」サービスを開始する。

 書式


Telnet [リモートホスト[ポート]]

リモートホスト 接続先リモートホストのIPアドレスまたはホスト名、FQDNを指定する
ポート 接続先のリモートホストのTCPポートを指定する。デホルトはTelnetポートの「23」

 使用方法

Telnet 192.168.1.1

その他のコマンド

指定したIPアドレスに対し、ポート番号をずらしながらTCPやUDPのパケットを連続して送り応答があるかないかを調べ、どのポートが開いているか調べる。開いているポートで現在そのマシンで利用しているサービスが解る。ポートスキャナとしてnmapなど。
注 インターネット上の攻撃者が侵入先のマシンを見つける際にも使われる。

パケットキャプチャを行うコマンド