SE_BOKUのまとめノート的ブログ

SE_BOKUが知ってること・勉強したこと・考えたことetc

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

f:id:arakan_no_boku:20210328005258p:plain

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

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

目次

ポートの使用状況を調べる

サービスを開始しようとしてエラーになるときなどで、ポートがすでに使われていないかを調べるときに、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 完全に一致する行を出力する
PIDからプロセス名を取得する

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

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

tasklist | find "1408" 

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

自分のPCのアドレス情報などを調べる

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

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

やたらと使います。

f:id:arakan_no_boku:20210328150525p:plain
ネットワークの接続確認をする

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

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

例 

ping yahoo.co.jp または ping 183.79.135.206

f:id:arakan_no_boku:20210328151333p:plain

主なオプション

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

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

FQDN名とIPアドレスを相互に取得・確認する

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

nslookup www.yahoo.co.jp

f:id:arakan_no_boku:20210328152732p:plain

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

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

arakan-pgm-ai.hatenablog.com

指定した宛先まで経由したホストを調べる

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]
トレースを完了しました。

MACアドレスを調べる

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

getmac /v

滅多に使いません。

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

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

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

最後におまけです。

ルーティングテーブルを確認します。

www.infraexpert.com

どうも、ルーティングテーブルの情報をくれと、何かの拍子にシステム管理担当者から言われることがあるかもしれないと思ってメモしているようですけど、おそらく、使うことはない・・んじゃないかなと思ったりしています。。 

IPV4IPV6の優先度の確認と変更

確認は。

netsh interface ipv6 show prefixpolicies

です。

管理者権限でCMDを開いて実行する必要があります。

結果の見方とか変更の仕方とかの詳しいところは、こちらのサイトで上手にまとめていただいているのでコピペしないで、リンクをはっておきます。

4thsight.xyz

ではでは。

#WIN