コマンドプロンプト MS-DOSを使ってみよう!

MS-DOSとの関係、コマンドプロンプトの使用方法やバッチファイル作成方法など、ぜひ覚えて使ってみよう!

★本ページはプロモーションが含まれています★
コマンドプロンプト MS-DOSを使ってみよう! ネットワーク
◆ arp

arp -a [IPアドレス] [-n インターフェイス]
arp -s IPアドレス MACアドレス [インターフェイス]
arp -d IPアドレス [インターフェイス]

arpはIPアドレスとMACアドレスの対応を確認・設定するコマンドである

パラメータ
 IPアドレス・・IPアドレスを指定する
 MACアドレス・・MACアドレスを指定する
 インターフェイス・・インターフェイス番号を指定する

-a
 arpキャッシュを調べ、エントリを表示。IPアドレスを指定した時には
 そのIPアドレスとMACアドレスの対照表を表示する。
 IPアドレスを指定しなければ、全てのarpエントリを表示
-n インターフェイス
 「0x1000003」のようなインターフェイス番号を指定すると、
 そのインターフェイスのarpエントリを表示する
-a
 「-a」オプションと同じ
-s
 arpエントリを追加し、IPアドレスを物理アドレスを関連付ける
-d
 IPアドレスで指定したarpエントリを削除する

■ 使用例 ■

・arpキャッシュを調べ、エントリを表示

C:¥>arp -a

・特定のIPアドレスに関するエントリを追加

C:¥>arp -a 210.196.1.32

・arpエントリを追加

C:¥>arp -s 210.196.1.32 00-90-cc-2e-3a-33
◆ ftp

ftp [-v] [-d] [-i] [-n] [-g] [-s:ファイル名] [-a] [-w:バッファ] [-A] [ホスト名]

ftpはFTPサーバにファイル転送プロトコルを使ってファイルを転送する
コマンドライン型FTPクライアントである


パラメータ
 ファイル名・・ファイル名を指定する
 バッファ・・バッファのサイズを指定する
 ホスト名・・FTPサーバのホスト名またはIPアドレスを指定する

-v
 リモートサーバからのメッセージを表示しないようにする
-n
 初期接続時に自動ログインしないようにする
-i
 複数のファイルを転送する(MPUTとMGET)時に対話型に動作しないようにする
-d
 デバッグモードで実行
-g
 ローカルファイル名とパス名でワイルドカードが使えるようにする
-s:ファイル名
 FTPで使えるコマンドが記述されているファイル名を指定
 記述されたコマンドが自動的に実行される
-a
 データ接続を開始する際に任意のインターフェイスを使えるように
-A
 anonymousログインをする
-w:バッファ
 転送時に使うバッファサイズを指定する(デフォルトは4096バイト)
ホスト名
 FTPサービスが稼動しているリモートホストのIPアドレスまたはホスト名を指定
-help または --help
 ヘルプを表示

ホストを指定しない場合、「ftp>」というプロンプトになる。
このプロンプトはFTPで使えるコマンド専用のものである。
WindowsのFTPコマンドでは、パッシブモード(passive mode : 受動モード)をサポートしていない。

接続・切断に関するコマンド一覧
bye FTPサーバとの接続を切断し、FTPコマンドを終了。
close FTPサーバとの接続を切断する。
FTPコマンドは終了せず、FTPプロンプト状態になる。
disconnect FTPサーバとの接続を切断する
FTPコマンドは終了せず、FTPプロンプト状態になる。
closeと同じ。
open (ホスト名)
(ポート番号)
FTPサーバとの接続を開始する。ホスト名を指定しなければ、「To」と 表示されてホスト名の入力待ちとなる。ホスト名のかわりにIPアドレスでも指定可能。 ホスト名の後に、1バイトスペースに続けてポート番号を指定することもでき、 指定しなければデフォルトのポート番号(21)が」指定されたものとみなされる。
quit FTPサーバとの接続を切断し、FTPコマンドを終了する。
byeと同じ。
user (ユーザー名)
(パスワード)
(アカウント)
ユーザー名を指定してログインする。
パスワードが指定されていれば、ユーザー名とパスワードを指定してログインする。 必要な情報が省略されていれば、問い合わせる。


ファイル・ディレクトリに関するコマンド一覧
cd サーバ側のカレントディレクトリを変更する。
delete (ファイル名) サーバ側の指定したファイルを削除する。
dir
(ディレクトリ名)
(ファイル名)
サーバ側の指定されたディレクトリ内のファイルの一覧を表示する。ディレクトリは表示されるが、 隠しファイルなどは表示されない。ディレクトリ名が指定されていないときは、カレントディレクトリ のファイル一覧を表示する。ディレクトリ名に続けてファイル名が指定された時は、ファイル一覧 をそのファイル名のテキストファイルとして保存。
lcd
(ディレクトリ名)
ローカルのカレントディレクトリを変更する。
ディレクトリ名が省略された時はカレントディレクトリを表示する。
ls
(ディレクトリ名)
(ファイル名)
サーバ側の指定されたディレクトリ内のファイルの一覧を表示する。
ディレクトリや隠しファイルなどは表示されない。ディレクトリ名が指定されていないとき は、カレントディレクトリのファイル一覧を表示する。ディレクトリ名に続けてファイル名が指定されたときは ファイル一覧をそのファイル名のテキストファイルとして保存する。UNIXのlsコマンドと同様に、 「-la」オプションなどを指定すると、詳細な形式で出力するので隠しファイルなども表示される。
mdelete
(ファイル名)
サーバ側の指定したファイルを削除する。
1バイトスペースに続けて複数のファイルが指定可能。
ファイル名を指定しなければ、「Remote files」と表示されて入力待ちに。
mdir
(ディレクトリ名)
(ファイル名)
サーバ側の指定されたディレクトリ内のファイルの一覧を、指定されたテキストファイルに 書き込む。ディレクトリが含まれるが隠しファイルなどは含まれない。ディレクトリ名は1バイト スペースを空けて複数指定可能。ディレクトリを指定しないで実行すると、 「Remote files」と表示されて入力待ちに。出力したいディレクトリを指定すると、 「Local file」と表示されて入力待ちに。「output to local-file:」に続けてファイル名が表示されるので、 確認して「y」キーを押す。ファイル名に「-」を指定すると、画面に表示される。
mkdir
(ディレクトリ名)
サーバ側に指定されたディレクトリ名のディレクトリを作成。
ディレクトリ名を指定しなければ、「Directory name」と表示されて入力待ちに。
mls
(ディレクトリ名)
(ファイル名)
サーバ側の指定されたディレクトリ内のファイルの一覧を、指定されたテキストファイルに書き込む。 ディレクトリや隠しファイルなどは含まれない。ディレクトリ名は1バイトスペースを空けて 複数を指定することが出来る。ディレクトリを指定しないで実行すると、「Remote files」と表示されて入力待ちに。 出力したいディレクトリを指定すると、「Local file」と表示されて入力待ちに。 「output to local-file:」に続けてファイル名が表示されるので、 確認して「y」キーを押す。ファイル名に「-」を指定すると、画面に表示される。
pwd サーバ側のカレントディレクトリを表示する。
rename
(ファイル名1)
(ファイル名2)
サーバ側のファイルの名前を変更する。ファイル名を指定しなければ、「From name」 と表示されて入力待ちになり、変更前のファイル名を入力すると、「To name」 と表示されて入力待ちとなる。
rmdir
(ディレクトリ名)
サーバ側の指定されたディレクトリを削除する。ディレクトリ名を指定しなければ、 「Directory name」と表示されて入力待ちに。


ファイル転送に関するコマンド一覧
append
(ファイル名1)
(ファイル名2)
ローカル側のファイル1にサーバ側のファイル2の内容を追加。
ascii 転送モードをASCIIにする。
binary 転送モードをBINARYにする。
get
(ファイル名1)
(ファイル名2)
サーバ側のファイル1を転送し、ローカル側にファイル2の名前で保存する。
ファイル2を指定しない場合は、ファイル1の名前で保存する。 何も指定しないで実行すると、「Remote file」「Local file」として問い合わせてくる。
glob ファイル名の指定にワイルドカードを使うかどうかをオン・オフする。
ワールドカードを使用しなければ、*などを含んだファイル名も指定できる。
hash 転送中にハッシュマーク「#」を表示するかどうかをオン・オフする。
hashがオンの時には、#1つあたり2048バイトを表す。
literal (引数) 引数をそのままサーバに転送する。
FTPサーバから応答があった場合には表示する。
mget (ファイル名) サーバ側の複数のファイルをファイル名はそのままでローカルに転送する。
何も指定しないで実行すると、「Remote files」として問い合わせてくる。
mput (ファイル名) ローカル側の複数のファイルをファイル名はそのままでサーバに転送する。
何も指定しないで実行すると、「Local files」として問い合わせてくる。
put
(ファイル名1)
(ファイル名2)
ローカル側のファイル1を転送し、サーバ側にファイル2の名前で保存する。
ファイル2を指定しない場合は、ファイル1の名前で保存する。 何も指定しないで実行すると、「Remote file」「Local file」として問い合わせてくる。
quote 引数をそのままサーバに送信する。
FTPサーバから応答があった場合には表示する。
recv
(ファイル名1)
(ファイル名2)
サーバ側のファイル1を転送し、ローカル側にファイル2の名前で保存する。
ファイル2を指定しない場合は、ファイル2の名前で保存する。 何も指定しないで実行すると、「Remote file」「Local file」として問い合わせてくる。getと同じ。
send
(ファイル名1)
(ファイル名2)
ローカル側のファイル1を転送し、サーバ側にファイル2の名前で保存する。
何も指定しないで実行すると、「Remote file」「Local file」として問い合わせてくる。putと同じ。
type
(asciiまたはbinary)
転送モードを指定する。


動作状態に関するコマンド一覧
bell ファイル転送が終わるたびにベルを鳴らすかどうかを切り替える。
debug デバッグモードのオン・オフを切り替える。
prompt 複数のファイルを転送する時に、プロンプトによる確認の有無を切り替える。
status 接続状況・typeの種類・Verbose・Bell・Prompting・Globbing・Debugging・ Hash mark printingのオン・オフを表示する。
trace パケットトレース機能のオン・オフを切り替える。
verbose 応答表示モードのオン・オフを切り替える。
オンの時には「200 PORT command successful. 150 Opening ASCII mode data connection for file list」「226 Transfer complete. ftp:209 bytes received in 0.00Seconds 209000.00Kbytes/sec.」といったメッセージが表示される。


その他のコマンド一覧
! シェル(CMD.EXE)を起動する。
DOSプロンプトで操作でき、「EXIT」と入力すると、FTPプロンプトに戻る。
? (コマンド名) コマンド名を指定するとそのコマンドのヘルプを表示する。
指定しなければ、コマンドの一覧が表示される。
help (コマンド名) コマンド名を指定するとそのコマンドのヘルプを表示する。
指定しなければ、コマンドの一覧が表示される。
remotehelp サーバ側でhelpコマンドを実行する。

■ 使用例 ■

・アスキーモードでサーバにファイルを一個だけアップロードする

C:¥>ftp
ftp> open (接続するホスト名)
・・省略・・
User (ホスト名):ユーザー名入力
・・省略・・
Password:パスワード入力
・・省略・・
ftp> ascii
・・省略・・
ftp> put aaa.txt

・ファイルの一覧を表示する(隠しファイルも表示)

ftp> ls -a

・FTPコマンドを抜け、コマンドラインに戻る

ftp> bye
◆ getmac

getmac [/s システム [/u [ドメイン¥]] ユーザー名 [/p [パスワード]]]]
[/fo 形式] [/nh] [/v]

getmacは、ネットワークアダプタ(LANカード)のMACアドレスを表示するコマンドである

パラメータ
 システム・・リモートシステムを指定する
 [ドメイン¥]ユーザー名・・ユーザー名を指定する
 パスワード・・パスワードを指定する
 形式・・出力の表示形式を指定する

/s
 接続先のリモートシステムを指定する。
 ¥をつけたコンピュータ名ではないことに注意する。
/u
 リモートシステムにログインするユーザー名を指定する。
 ドメイン名が異なる場合には、「ドメイン名¥」に続けてユーザー名を入力する
/p
 リモートシステムにログインするパスワードを指定する。
 パスワードを指定しなかった時には、出力する前にパスワードの入力が要求される。
/fo
 出力形式をTABLE、LIST、CSVから指定する。
/v
 接続名とアダプタに関する情報も出力する。
/nh
 出力で列ヘッダを表示しない。形式でTABLEとCSVを指定した時のみ有効。
/?
 ヘルプを表示する。

■ 使用例 ■

・システムを指定してGETMACコマンドを実行する

C:¥Documents and Settings¥user>getmac /s 2000server

・「/v」オプションをつけて詳細な情報を表示

C:¥Documents and Settings¥user>getmac /s 2000server /v

・CSV形式だが列ヘッダを出力しないように指定して実行

C:¥Documents and Settings¥user>getmac /s 2000server /v /fo csv /nh

・ユーザー名とパスワードを指定して実行

C:¥Documents and Settings¥user>getmac /s 2000server /u username /p password
◆ ipconfig

ipconfig [/? | /all | /release [アダプタ] | /renew [アダプタ] | /flushdns | /registerdns
| /showclassid アダプタ | /setclassid アダプタ [クラスID]]

ipconfigは、ネットワークアダプタのIPに関する情報を表示・設定するための コマンドである

パラメータ
 アダプタ・・ネットワークアダプタ。「*」「?」を使う事ができる
 クラスID・・クラスIDを指定する

/all
 全てのIP設定を表示する。
/release アダプタ
 指定したアダプタの設定を解放する。
 DHCPクライアントの場合、「0.0.0.0/0.0.0.0」になる。
 アダプタを指定しなければ、全てのアダプタの設定が解放される。DHCPクライアントの場合のみ有効。
/renew アダプタ
 指定されたアダプタのIP設定を更新する。
 アダプタを指定しなければ、全てのアダプタの設定が解放される。
 DHCPクライアントの場合のみ有効。
/flushdns
 実行したホストのDNSキャッシュをクリアする。
/registerdns
 DHCPリースを更新し、DNSサーバがダイナミックDNSサーバの場合に再登録する。
/displaydns
 DNSキャッシュを表示する。
/showclassid
 DHCPクラスIDを表示する。
/setclassid
 DHCPクラスIDを変更する。
/?
 ヘルプを表示する。

■ 使用例 ■

・ipconfigコマンドをオプションの指定なしで実行する

C:¥>ipconfig

・より詳細なIP設定の情報を表示する

C:¥>ipconfig /all
◆ nbtstat

nbtstat [[-a リモート名] [-A IPアドレス] [-c] [-n] [-r] [-R]
[-RR] [-s] [-S] [インターバル]]

nbtstatは、NetBIOS over TCP/IPの接続に関する情報を表示するコマンドである

パラメータ
 リモート名・・リモートコンピュータのコンピュータ名を指定する
 IPアドレス・・IPアドレスを指定する
 インターバル・・待機時間(単位秒)を指定する

-a
 指定したコンピュータ名のマシンの名前テーブルを表示する。MACアドレスも表示される。
-A
 指定したIPアドレスのマシンの名前テーブルを表示する。MACアドレスも表示される。
-c
 指定したマシンの名前キャッシュを表示する。
 コンピュータ名、タイプ、IPアドレス、有効時間などが表示される。
-n
 実行したマシンのリモートキャッシュ名前テーブルを表示する。
-r
 WINSサーバとブロードキャストによって解決した名前の統計情報を表示する。
-R
 リモートキャッシュ名前テーブルを破棄してからLMHOSTSファイルをリロードする。
-S
 NBTのセッションを表示する。相手はIPアドレスで表示される。
-s
 NBTのセッションを表示する。相手はコンピュータ名で表示される。
-RR
 WINSサーバに登録された情報をいったん破棄し、改めて登録する。
インターバル
 統計情報を表示する間隔を秒単位で指定する。
 Ctrl+Cキーが押されるまでNBTSTATコマンドが指定された秒数間隔で実行される。

■ 使用例 ■

・ワークグループ内にあるWindows 2000Serverに対して、nbtstatを実行する

C:¥>nbtstat -a 2000Server

・-rオプションを指定して、名前解決に関する統計情報を表示させる

C:¥>nbtstat -r
◆ net

net   [ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE
| GROUP | HELP | HELPMSG | LOCALGROUP | NAME | PAUSE
| PRINT | SEND | SESSION | SHARE | START | STATISTICS
| STOP | TIME | USE | USER | VIEW]

netは、TCP/IPネットワーク上に構築されたWindowsネットワーク全般に関して情報を得たり、
設定を変更する重要なコマンドである。
このコマンドは、22のサブコマンドと組み合わせて使い、サブコマンドごとにいくつかのオプション
とパラメータを持っている。



◆ サブコマンドのページへ ◆

ユーザー・グループ・コンピュータのアカウントに関するサブコマンド(サブコマンド名をクリック)

ACCOUNTS ログオンやパスワードなどユーザーアカウントに関する情報を表示し、設定する。
COMPUTER コンピュータやアカウントをドメインに登録・解除する。
USER ローカルコンピュータやドメインコントローラに登録されているユーザーアカウントに関する 情報を表示し、設定する。
GROUP ローカルコンピュータやドメインコントローラに登録されているグループアカウントに関する 情報を表示し、設定する。
LOCALGROUP ローカルコンピュータに登録されているグループアカウントに関する情報を表示し、設定する。


サービスに関するサブコマンド(サブコマンド名をクリック)

START サービスを開始する。
STOP サービスを停止する。
PAUSE サービスを一時停止する。
CONTINUE サービスを再開する。


共有サービスに関するサブコマンド(サブコマンド名をクリック)

SHARE 資源(リソース)をネットワーク上で利用できるよう公開する。
USE ネットワーク上で利用できるよう公開されている共有資源に接続したり、接続を解除する。また、 共有資源への接続状態を解除する。
VIEW ネットワーク上で利用できる資源を公開しているコンピュータを一覧表示したり、 特定のコンピュータが提供している資源を一覧表示する。
FILE NET SHAREコマンドで公開した資源のうち、外部マシンで実際に開かれている ファイルを表示する。また、強制的に切断する。
SESSION 接続しているマシンの接続状況を表示する。また、強制的に切断する。
PRINT 共有プリンタに関する情報を表示したり、プリントキューの状態を表示し、印刷ジョブを制御する。


その他のサブコマンド(サブコマンド名をクリック)

CONFIG サーバーサービスやワークステーションサービスに関する情報を表示し、 設定する。
NAME コンピュータ名を表示し、追加する。
SEND メッセージを送信する。
STATISTICS プロトコルや公開資源、サービスに対する統計情報を表示する。
TIME 時計情報を表示したり、時計を同期する。


ヘルプ関連(サブコマンド名をクリック)

HELP
[コマンド名]
サブコマンドやエラーメッセージに関する情報を表示する。
HELPMSG Windowsのエラー番号に関して詳しい情報を表示する。

◆ netstat

netstat [-a] [-e] [-n] [-s] [-p プロトコル] [-r] [インターバル]

netstatは、TCP/IPプロトコルでの通信の状態を表示するコマンドである。
実行したホストのサービス状況やホストへの接続状態を確認する事に使う。
主としてサーバで実行して、意図したサービスポートだけが待機状態(LISTENING)にあるかどうか、
予期していないポートへの接続がないかなどを確認する。


パラメータ
 プロトコル・・プロトコル。tcp、udp、ipから指定する。
 インターバル・・待機時間を秒単位で指定する。

-a
 全てのTCP/IP接続と待機中のポート(LISTENING)を表示する。
-e
 アダプタのEthernetに関する統計を表示する。
-n
 IPアドレスをポート番号をそのまま表示する。デフォルトでは名前解決され、
 telnetやftpのようなwell-knownポートで表示される。
-p プロトコル
 プロトコルごとの接続状況を表示する。プロトコルにはtcpかudpを指定する。
 「-s」オプションとともに使う場合には、tcp、udpの他ipも指定できる。
-r
 ルーティングケーブルを表示する。「route PRINT」と同じ。
-s
 プロトコル別の統計を表示する。デフォルトではTCP、UDP、ICMPとIP別に統計が表示される。
 「-p」オプションとともに指定するとプロトコルごとに表示でき、
 「-a」オプションとともに指定するとEthernet統計情報も加えることができる。
インターバル
 統計情報を表示する間隔を秒単位で指定する。
 「Ctrl」+「C」キーが押されるまでNETSTATコマンドが、指定された秒数間隔で実行される。
/?
 ヘルプを表示する。
-o
 WindowsXPのみのオプションで、プロセスIDを統計情報に含める。

■ 使用例 ■

・「-s」オプションを指定して、IP、ICMP、TCP、UDPの4つに分類して統計情報を表示

C:¥>netstat -s

・オプションをなにも指定しないで、現在動作しているコネクションを表示

C:¥>netstat

◆ nslookup

nslookup [-set_option] [IPアドレス | ドメイン名 | ホスト名 [DNSサーバ名]]

nslookupは、DNSサーバに問い合わせをして、正引き(ホスト名あるいはドメイン名からIPアドレスを検索)
や逆引き(IPアドレスからホスト名を検索)をする時に使用するコマンドである。


パラメータ
 IPアドレス・・IPアドレスを指定する。
 ドメイン名・・ドメイン名を指定する。
 ホスト名・・ホスト名を指定する。
 DNSサーバ名・・DNSサーバ名を指定する。

set_option
 対話モードのsetオプションを指定する。

NSLOOKUPのプロンプトで利用できるコマンド
set OPTION nslookupの動作やDNS問い合わせの仕方などを設定する。OPTIONには以下のものがある。
all デフォルトサーバと全てのオプションの設定状態を表示する。
[no] debug デバッグ情報を表示する。デフォルトは表示しない(nodebug)
[no] d2 詳細なデバッグ情報を表示する。デフォルトは表示しない(nod2)
[no] defname 問い合わせにデフォルトドメイン名を付け加える。
wwwのようなホスト名しかない場合に、デフォルトドメイン名として設定されている ドメイン名を付け加えて検索する。デフォルトは付け加えない(nodefname)
[no] recurse 問い合わせたDNSサーバが情報を持っていなかった場合に、上位のDNSサーバに問い合わせる。 デフォルトは問い合わせる(recurse)
[no] search ドメインサーチリストを使う。デフォルトは使う(search)
[no] vc TCP接続によって検索する。novcを指定するとUDP接続によって検索する。デフォルトはvc。
domain=name デフォルトのドメイン名をNAMEに設定する。
srchlist=N1
[/N2/.../N6]
ドメインをN1に設定し、サーチリストをN1、N2からN6に設定する。
root=NAME ルートサーバをNAMEに設定する。
retry=X リトライする回数を指定する。デフォルトは64回。
timeout=X タイムアウトするまでの時間。デフォルトは5秒。
type=X 問い合わせのタイプを指定する。TYPEにはA、CNAME、MX、NS、PTR、SOAなどがある。
querytype=X 「type」オプションと同じ。
class=X 検索するレコードクラスを設定する。デフォルトはIN(Internet)
[no] msxfr 高速ゾーン転送モードを使う。
ixfrver=X 差分ゾーン転送モードを使い、現在のシリアルナンバーを指定する。
NAME デフォルトサーバにNAMEに関する情報を問い合わせる。
NAME1 NAME2 NAME2をDNSサーバとしてNAME1に関する情報を問い合わせる。
help or ? ヘルプを表示する。
server NAME DNS情報を問い合わせるデフォルトサーバをNAMEに変更する。このときNAMEは、現在設定されている DNSサーバに問い合わせをする。
lserver NAME DNS情報を問い合わせるデフォルトサーバをNAMEに変更する。 このときNAMEは、起動時に設定されていたDNSサーバに問い合わせをする。
ls [opt] DOMAIN [> FILE] ドメインに関する情報を一覧で表示する。FILEが指定されていた場合には、 FILEにリダイレクトする。optには次のものがある。
-a CNAMEレコードに関するものを表示する。「-TYPE CNAME」と同じ。
-d すべてのレコードを表示する。「-TYPE ANY」と同じ。
-t TYPE 指定されたTYPEに関するものを表示する。TYPEには、A、CNAME、MX、NS、PTRなどがある。
finger [USER] デフォルトサーバに設定されているホストのfingerを起動する。
root デフォルトサーバをレートサーバに設定する。
view FILE FILEを読み込んで、ソートしてから表示する。
exit NSLOOKUPを終了する。

■ 使用例 ■

・IPアドレス「219.200.113.10」について問い合わせる

C:¥>nslookup

>219.200.113.10
◆ ping

ping [-t] [-a] [-n 回数] [-l サイズ] [-f] [-i TTL] [-v TOS] [-r 回数] [-s 回数]
[[-j ホストリスト] | [-k ホストリスト]] [-w ミリ秒数] 対象

pingは、ICMP(Internet Control Message Protocol)を使ってIPパケットが正常に
到達しているかを確認するコマンドである。
サーバやクライアント、ルータ、プリンタなどIPアドレスが割り当てられている機器全般に対して実行し、
IPでの接続が正常かどうかを確認するためによく使われる。


パラメータ
 回数・・  送信する回数を指定する。
 サイズ・・  パケットのデータ部分のサイズを指定。単位はバイト。
 TTL・・  「Time To Live」を指定する。デフォルトは255。
 TOS・・  「Time Of Service」を指定する。
 ホストリスト・・  ホストをリストしたファイルを指定する。
 ミリ秒数・・  タイムアウトするまでのミリ秒数を指定する。
 対象・・  対象をする機器のIPアドレスまたはホスト名を指定。

-t
 中止するまでパケットを送信する。「Ctrl」+「Break」キーを押すと統計情報を表示
 してからパケットを送信し、「Ctrl」+「C」キーで中止する。
-a
 IPアドレスが指定された場合に名前解決をする。デフォルトでは名前解決はしない。
-n 回数
 パケットの送信回数を指定する。デフォルトでは4回。
-l tサイズ
 送信するパケットのデータ部分のサイズを指定する。デフォルトは32バイト。
-f
 パケットを分割することを禁止する。
-i TTL
 「Time To Live」を指定する。
-v TOS
 「Time Of Service」を指定する。
-r 回数
 発信パケットと返信パケットのルートをRecord Routeフィールドに記録する。
 1から9の範囲で指定する。
-s 回数
 countで指定した数のホップに対してタイムスタンプを指定する。
 いから4の範囲で指定する。
-j ホストリスト
 ホストリストに沿ったゆるやかなソースルートを指定する。
 ゲートウェイで区切られる可能性がある。
-k ホストリスト
 ホストリストに沿った厳密なソースルートを指定する。ゲートウェイで区切られない。
-w ミリ秒数
 リプライを待つ時間(タイムアウトするまでの時間)をミリ秒で指定する。

pingコマンドはネットワーク管理の基本ともいえるコマンドだが、ICMPは、TCP/IPスタックの中では
IPと同じ層に位置するプロトコル(パケットは見かけ上IPに運ばれる)で、「Ping of death」と呼ばれるような
巨大なパケットを送り続けることで対象機器をダウンさせるような攻撃があるため、インターネットサーバやルータでは
ICMPをシャットアウトするように設定している場合もあるので、pingコマンドのリプライがないからといって、IP接続が
異常であると断定することは出来ない。

■ 使用例 ■

・IPアドレス「192.221.10.1」に対してpingコマンドを実行

C:¥>ping 192.221.10.1

Pinging 192.221.10.1 with 32 bytes of data:    ・・1

Reply from 192.221.10.1: bytes=32 time<10ms TTL=255    ・・2
Reply from 192.221.10.1: bytes=32 time<10ms TTL=255
Reply from 192.221.10.1: bytes=32 time<10ms TTL=255
Reply from 192.221.10.1: bytes=32 time<10ms TTL=255

Ping statistics for 192.221.10.1:
   Packets: Sent = 4, Lost = 0 (0% loss),    ・・3
Approximate round trip times in milli–seconds:
   Minimum = 0ms, Maximum = 0ms, Average = 0ms    ・・4

********************* ********************* *********************

1の行はIPアドレス「192.221.10.」に対して32バイトのデータ部分を持ったパケットを送信することを宣言。

2の「Reply from 192.221.10.1: bytes=32 time<10ms TTL=255」の行は リプライが「192.221.10.」からあり、そのバイト数が32バイト、かかった時間が10ms以下、TTLが255であることを あらわしている。

リプライのバイト数は送信したバイト数と同じであれば正常な状態である。TTL(Time To Live)はパケットの生存時間 (IPv4での初期値は255)で、ルータを経由するごとに1つずつTTLは減っていき、0になるとそのパケットは破棄される。
◆ route

route [-f] [-p] [コマンド [対象] [MASK ネットマスク] [ゲートウェイ]
[METRIC メトリック] [IF インターフェイス]]

routeは、ネットワークのルーティングテーブルに関する情報を一覧表示したり
設定を変更するコマンドである。


パラメータ
 コマンド・・  PRINT、ADD、DELETE、CHANGEのいずれかを指定する。
 対象・・  ターゲットとなるホストを指定する。
 ネットマスク・・  サブネットマスクの値。指定しなければ「255.255.255.255」となる。
 ゲートウェイ・・  ゲートウェイのIPアドレスを指定する。
 メトリック・・  メトリック値を指定する。
 インターフェイス・・  インターフェイス番号を指定する。

-f
 ルーティングテーブルの内容を全て消去する。コマンドと併用された場合には、
 ルーティングテーブルが消去されてからコマンドが実行される。
-p
 コマンドと併用すると変更がレジストリに登録され、再起動後も変更が自動的に反映される。

********* ********* ********* ********* ********* ********* ********* *********

単一のネットワークで、インターネットに接続しているだけという状態では、ルーティングテーブルを
意識する事はほとんどないだろう。が、ネットワーク上に複数のゲートウェイがある場合、例えば支社が本社を
経由してインターネット接続しているような場合では、本社側のインターネット接続ルータが支社のIPネットワーク
の存在を知らなければ、支社はインターネット接続ができない。

これは、インターネット側からの返事のパケットの届け先を本社のルータが知らないからである。
こういった場合にルーティングテーブルを編集する必要性が出てくる。

なお、オプションをなにも指定せずに、routeコマンドを実行すると、ヘルプが表示される。
■ 使用例 ■

・ルーティングテーブルの現在の状態を表示

C:¥>route print
◆ telnet

telnet 対象 ポート

telnetは、TCP/IPネットワークでリモートにあるサーバを端末から操作できるように
するプロトコルであり、そのために利用するコマンドである。


パラメータ
 対象・・  対象となる機器のIPアドレスまたはホスト名を指定する。
 ポート・・  telnet接続で使用するポート番号を指定する。


TELNETでサポートされているコマンド
close 現在のtelnet接続を終了する。
display 設定されているパラメータを表示する。
open telnet接続を開始する。
quit telnetコマンドを終了する。
set オプションを設定する。
status 現在の接続状態を表示する。
unset オプションを解除する。「unset?」で解除するオプションの一覧を表示する。
?/help ヘルプを表示する。

この中でも重要なのはSETコマンドで、設定できるオプションは以下の通り。

SETコマンドのオプションパラメータ
NTLM NTLM認証を使用する。
LOCAL_ECHO ローカルエコーを使用する。
TERM x 端末タイプを指定する。xにはANSI、VT100、VT52またはVTNTが指定できる。通常はVT100。
CODESET x 文字コードを指定する。xにはShift JIS、Japanese EUC、JIS Kanji、JIS Kanji(78)、DEC Kanji、NEC Kanjiが指定できる。
CRLF 改行コードを指定する。

■ 使用例 ■

・telnetを実行

C:¥>telnet
Microsoft Telnet クライアントへようこそ

エスケープ文字は 'CTRL+]' です

Microsoft Telnet>

・ホスト 2000Server に接続する

Microsoft Telnet> open 2000Server
◆ tlntadmn

tlntadmn ¥¥ホスト名 アカウント [コマンド] オプション

tlntadmnは、Windows 2000/XPが標準で提供しているtelnetサービスを
管理するためのコマンドである。
tlntadmnコマンドでは、書式のようにパラメータやオプション、コマンドによって制御する事ができるが、
tlntadmnコマンドをそのまま起動するとメニューが表示されるため、メニューで制御する方がわかりやすい。


パラメータ
 ホスト名・・  制御するtelnetサーバ名を指定する。
 アカウント・・  telnetサーバ上で管理者権限を持ったアカウント。「-u」でユーザ名を、
          「-p」でパスワードを指定できる。
 コマンド・・指定できるコマンドは以下の通り
  • START   telnetサービスを開始する
  • STOP   telnetサービスを停止する
  • PAUSE   telnetサービスを一時停止する
  • CONTINUE   一時停止しているtelnetサービスを再開する
  • CONFIG パラメータ   telnetサービスの設定を変更する。パラメータには「MAXFAIL」
                   (最大ログオン失敗回数)、「DOM」(ドメイン名)などがある

-s
 telnetセッションを表示する。
-k セッションID
 セッションIDを終了する。allを指定すると全てのセッションを終了する。
-m セッションID メッセージ
 指定したセッションID宛てにメッセージを送信する。
 allを指定すると全てのセッション宛てにメッセージを送信する。

■ 使用例 ■

・tlntadmnを起動する

C:¥>tlntadmn
◆ tracert

tracert [-d] [-h 最大ホップ数] [-j ホストリスト] [-w ミリ秒数] 対象

tracertは、UNIXで使われているtracerouteコマンドのWindows版コマンドである。
UNIXのtracerouteはUDPパケットを使うが、WindowsのtracertコマンドはICMPパケットを使う点が異なる。


パラメータ
 最大ホップ数・・  最大のホップ数を指定する。
 ホストリスト・・  ホストをリストしたファイルを指定する。
 ミリ秒数・・  タイムアウトするまでのミリ秒数を指定する。
 対象・・  対象となる機器のIPアドレスまたはホスト名を指定する。

-d
 経路中のIPアドレスの名前解決をしない。デフォルトは名前解決をする。
-h 最大ホップ数
 対象に達するまでの最大ホップ数を指定する。デフォルトは30。
-j ホストリスト
 ホストリストhost-listにそった緩やかなソースルートを指定する。ゲートウェイで区切られる可能性がある。
-w ミリ秒数
 リプライを待つ時間(タイムアウトするまでの時間)をミリ秒で指定する。

■ 使用例 ■

・googleへの接続経路を見る

C:¥>tracert www.google.com

Tracing route to www.google.akadns.net [216.239.57.104]
over a maximum of 30 hops:

 1  <10 ms  <10 ms  <10 ms   202.165.32.10   ・・・A
 2  <10 ms  <10 ms  <10 ms  202.143.10.41
 3  <10 ms  <10 ms  <10 ms   202.239.10.120
 4  <10 ms  <10 ms  <10 ms   202.239.10.139
 5  <10 ms  <10 ms  <10 ms   202.239.109.98
 6  <10 ms  <10 ms  <10 ms  210.132.127.93
 7   10 ms   10 ms    10 ms   gsr-osa4.kddnet.ad.jp [210.132.126.195]
 8   10 ms   10 ms    10 ms   tr-osa1.kddnet.ad.jp [210.132.124.5]
 9  <10 ms  <10 ms   10 ms  gsr-sc1.kddnet.ad.jp [210.132.91.50]
10   10 ms   10 ms    10 ms  ix-pa3.kddnet.ad.jp [203.181.104.66]
11   10 ms   10 ms    10 ms   203.181.104.194
12  <10 ms  <10 ms  <10 ms   216.239.47.74
13  <10 ms   10 ms  <10 ms  216.239.47.30
14   10 ms   10 ms    10 ms   216.239.49.2
15  <10 ms  <10 ms   10 ms   216.239.57.104

Trace complete.


この実行結果の「1  <10 ms  <10 ms  <10 ms   202.165.32.10」の行の読み方は次のようになる。
先頭の数値はホップ数を表し、その後3回パケットを送信した結果が表示されている。
(3回繰り返すのは数値の信頼性を高めるため)
10ms以下は「<10ms」と表示され、それ以上の場合には具体的な数値が表示される。
最後に経路中のルータなどのIPアドレスと名前解決ができる場合にはホスト名と一緒に表示される。

ルータによってはセキュリティ上の問題から、ICMPをフィルタリングしている場合があり、
タイムアウトしてしまう事がある。
途中で、「10 * * * Request timed out.」となっている場合には、障害が発生しているか
フィルタリングされているかのどちらかである。ターゲット自体がフィルタリングされている場合には、
Request timed out.が最大ホップ数まで繰り返される。

インターネットではトラフィックに応じて、あるいは障害発生に対応するためダイナミックに経路が
構成されることが多いため、ターゲットがインターネット上のものである場合には、時間をおいて実行すると
経路が変わる事もある。
◆ pathping

pathping [-n] [-h 最大ホップ数] [-g ホストリスト] [-p 待機時間] [-q 回数]
[-w ミリ秒数] [-t] [-R] [-r] 対象

pathpingは、ICMPを使って接続を確認するpingコマンドと、経路を調べるtracertコマンドの
両方の機能を併せ持ったコマンドである。
対象への経路を調べてから、各経路上のルータに対してパケットの遅延時間や損失を
統計的にとりまとめる。


パラメータ
 最大ホップ数・・  最大ホップ数を指定する。デフォルトは30。
 ホストリスト・・  ホストをリストしたファイルを指定する。
 待機時間・・  待機時間を指定する。単位はミリ秒。
 回数・・  ICMP ECHOメッセージの数。デフォルトは100。
 ミリ秒数・・  タイムアウトするまでのミリ秒数を指定する。
 対象・・  対象となる機器のIPアドレスまたはホスト名を指定する。

-n
 IPアドレスが指定された場合に名前解決をしない。デフォルトは名前解決する。
-h 最大ホップ数
 対象に達するまでの最大ホップ数を指定する。
-g ホストリスト
 ホストリストに沿ったゆるやかなソースルートを指定する。ゲートウェイで区切られる可能性がある。
-p 待機時間
 pingとpingの間の待機時間を指定する。
-q 回数
 ホップあたりのクエリ数を指定する。
-w ミリ秒数
 リプライを待つ時間(タイムアウトするまでの時間)を、ミリ秒で指定する。
-t
 レイヤ2のタグを使って経路上の各ホップに送信する。
 QoS(Quality of Service)接続のテストに使用する。
-R
 経路上のルータがRSVP(Resource Reservation Protocol)をサポートしているかどうかを調べる。
 QoS接続のテストに使用する。

■ 使用例 ■

・202.198.35.10へのpingと接続経路を見る

C:¥>pathping 202.198.35.10

Tracing route to 202.198.35.10
over a maximum of 30 hops:
0 com:[202.198.35.8]
1 202.198.35.10

Computing statistics for 25 seconds...
      Source to Here  This Node/Link
Hop  RTT  Lost/Sent = Pct  Lost/Sent =Pct  Address
 0                               com [202.198.35.8]
                       0/ 100 = 0%  |
 1  0ms    0/ 100 = 100%  0/ 100 = 0%  202.198.35.10

Trace complete.


・「Computing statistics for 25 seconds...」は統計をまとめるまでにかかる予測時間である



Copyright © 2004 - ykr414. All Rights Reserved.
mail: ykr414▼■○eay.jp / 掲載広告に関しまして