"BOKU"のITな日常

テクノロジー以外にも、日常には、面白そうな”イット”がつまってるんだな

Windowsでネットワークの状態を調べたいときに使う主なコマンド(備忘)

f:id:arakan_no_boku:20210328005258p:plain

Windowsサーバーで状態を確認するときに使う主なネットワークコマンドです。

手持ちのメモに書いてたのを、スマホでみたいので、ブログに書いてます。 

netstat -nao

サービスを開始しようとしてエラーになるときなどで、ポートがすでに使われていないかを調べるときに、findコマンドと組み合わせて使います。。

例 ポート80が使われているか調べる

netstat -nao | find ":80"  

オプションの意味

  •  -n IPアドレスやポート番号を数値で表示
  •  -a LISTENING状態のTCPポートも表示する
  •  -o そのコネクションを所有しているプロセスのID(PID)を表示する
  •  -b PIDではなく実際のプロセス名を表示する(管理者権限が必要)。

netstatはすべてを出力するので、findをパイプ(|)でつないで、":80"が含まれている行だけを表示してます。

findは「指定文字列を含む行を抽出するコマンド(正規表現不可)」です。

主なオプションは

  • /V 指定した文字列を含まない行をすべて表示する
  • /C 指定した文字列を含む行の数だけを表示する
  • /N 行番号を表示する
  • /I 大文字と小文字の区別をしないで検索する

正規表現を使いたいときは、findstr を使えますが・・まあ、必要ないかも。

念のため、findstrの主なオプションです。

  • /V 指定した文字列を含まない行をすべて表示する
  • /I 大文字と小文字の区別をしないで検索する
  • /N 行番号を表示する
  • /B 行の先頭にあるパターンを検索する
  • /E 行の末尾にあるパターンを検索する
  • /L 検索文字列をリテラルとして使用する
  • /R 検索文字列を正規表現として使用する
  • /X 完全に一致する行を出力する
tasklist

netstat -naoでPIDを出力させたとき、PIDからプロセス名を取得したいときに、findと組み合わせて使います。

例 PIDが1408であるプロセス名を調べる

tasklist | find "1408" 

netstatの -bでプロセス名を表示させられるのですが、管理者権限が必要で面倒なので、-oでPIDを出力して、tasklistでプロセス名を調べる方が多いです。

ipconfig

自分のPCのIPアドレスとかを調べます。

オプションもなんもなく「ipconfig」たたくだけ。

やたらと使います。

f:id:arakan_no_boku:20210328150525p:plain
ping

ネットワーク接続確認をします・・もう少し正確にいうなら。

ICMPプロトコルのEcho要求を送信し、指定したあて先への到達可能性を調査します。

例 

ping yahoo.co.jp または ping 183.79.135.206

f:id:arakan_no_boku:20210328151333p:plain

主なオプション

  • -t  Ctrl+C を押すまで繰り返し実行する

サーバーの再起動をリモートでやった時に、立ち上がって、ログイン可能になるタイミングをはかるために、-t オプションをつけて実行して、監視してる・・って感じでよく使います。 

nslookup

FQDN名(ホスト名+ドメイン名)に対応付けられているIPアドレスを相互に取得・確認します。

nslookup www.yahoo.co.jp

f:id:arakan_no_boku:20210328152732p:plain

そんなに使わないですけど。

インターネットのサイトがIPV6対応してるかどうか?を調べる 時には役にたちました。

arakan-pgm-ai.hatenablog.com

tracert

ICMPプロトコルのEcho要求を送信し、指定したあて先への到達可能性を調査するという点ではpingと同じですけど、ルーティングの途中で経由したホスト(ルータ)を逐一表示してくれます。

接続に問題がでたとき、経路の途中で途絶えているのか、途中で混雑して遅延しているだけなのか・・みたいな切り分けをするのに、よく使います。

Linuxだと、名前が「traceroute」なので、よく間違えます(笑)

tracert web.exsample.local
または
tracert 192.168.64.255

こんな感じで結果が表示されます。

web.exsample.local [192.168.64.255] へのルートをトレースしています
経由するホップ数は最大 30 です:

1 <1 ms <1 ms <1 ms sample-vpn.gifusi.exsample.co.jp [192.168.3.253]
2 9 ms 8 ms 9 ms 192.168.65.30
3 9 ms 8 ms 8 ms web.exsample.local [192.168.64.255]
トレースを完了しました。

getmac /v

 MACアドレス(00-FE-4C-8F-EF-59 みたいなやつ)を調べます。

getmac /v

滅多に使いません。

でも、アクセスできる端末をIPアドレスでなく、MACアドレスで識別するセキュリティを採用しているものがあるので、ごくたまに確認されることがあるくらいです。

MACアドレス物理アドレスですが、最近は仮想マシンなどでMACアドレスに任意の値を使用できたりするものもあるので、もう過去のものになりつつありますけど。 

netstat -r

ルーティングテーブルを確認します・・って、いったい何をしたくてメモに書いてあったのか自分でもよくわからないです。

www.infraexpert.com

少なくとも、ルーティングテーブルの設定うんぬんを仕事でしたことはないので。

 

ではでは。