2023年4月17日月曜日

Test-NetConnectionコマンドレットの主な使い方 | Windowsネットワークのトラブルシューティングに

Windowsネットワークのトラブルシューティングに時にPowershellだけでもいろいろな事が実は確認できます。

中でもTest-NetConnectionコマンドレットは使い方を覚えておくと、役立つ場面があるため主要な機能を紹介します。

また実はTest-NetConnectionコマンドレットでICMPも送れる事は、意外と気づいていない人も多いのではないでしょうか。(ping 8.8.8.8等と半ば無意識で手が動く様な世代の人は特に。)

1. Test-NetConnectionコマンドレットとは

Test-NetConnectionコマンドレットは、Windows PowerShellで提供されるネットワーク診断ツールです。このコマンドレットを使用することで、特定のホスト名、IPアドレス、ポート番号に対して、ネットワーク接続の状態を確認することができます。

2. Test-NetConnectionコマンドレットの使い方

2-1. ホスト名またはIPアドレスの確認

ホスト名またはIPアドレスを確認するには、以下のようにコマンドを入力します。

Test-NetConnection <ホスト名またはIPアドレス>

例えば、google.comのIPアドレスを確認する場合は、以下のようにコマンドを入力します。

Test-NetConnection google.com

ポートを指定しないで、このようにやると次のような結果が得られ、pingも取り合えず打ってくれます。

PS C:\> Test-NetConnection google.com
RemoteAddress          : 142.251.222.46
InterfaceAlias         : Wi-Fi
SourceAddress          : 192.168.1.5
PingSucceeded          : True
PingReplyDetails (RTT) : 5 ms

2-2. ポート番号を指定した疎通確認(TCP)

ポート番号を指定して疎通確認確認するには、以下のようにコマンドを入力します。

Test-NetConnection -Port <ポート番号> <ホスト名またはIPアドレス>

例えば、google.comの80番ポートに対して接続可能かどうかを確認する場合は、以下のようにコマンドを入力します。

Test-NetConnection -Port 80 google.com

2-3. 詳細情報の取得

最初のコマンドに「-InformationLevel Detailed」を加えると少しだけ詳しい情報が取れます。

Test-NetConnection <ホスト名またはIPアドレス> -InformationLevel Detailed

実行結果サンプルはこちら。名前解決の結果や、ルート情報を明示的に出してくれています。

PS C:\> Test-NetConnection google.com -InformationLevel Detailed                                                        

ComputerName           : google.com
RemoteAddress          : 172.217.26.238
NameResolutionResults  : 172.217.26.238
InterfaceAlias         : Wi-Fi
SourceAddress          : 192.168.1.5
NetRoute (NextHop)     : 192.168.1.1
PingSucceeded          : True
PingReplyDetails (RTT) : 5 ms

ちなみにIPアドレスを指定して実施すると、次のようにDNS逆引きまでやってくれます。

PS C:\> Test-NetConnection 172.217.26.238 -InformationLevel Detailed


ComputerName           : 172.217.26.238
RemoteAddress          : 172.217.26.238
NameResolutionResults  : 172.217.26.238
                         bom05s09-in-f14.1e100.net
                         nrt12s51-in-f14.1e100.net
InterfaceAlias         : Wi-Fi
SourceAddress          : 192.168.1.5
NetRoute (NextHop)     : 192.168.1.1
PingSucceeded          : True
PingReplyDetails (RTT) : 5 ms

2-4. TraceRouteの実行

TraceRouteを実行するには、以下のようにコマンドを入力します。

Test-NetConnection -TraceRoute <ホスト名またはIPアドレス>

3. まとめ

Test-NetConnectionコマンドレットを使うことで、ホスト名、IPアドレス、ポート番号に関する情報やPingテスト、TraceRouteの結果を簡単に取得できるため、ネットワークの問題の解決に役立ちます。

個人的には(ping 8.8.8.8の方が早いので手作業時にはあまり役には立たないものの)Test-NetConnectionコマンドでICMPも打てるのはむしろ知らなかったので発見でした。

Powershellのコマンドレットだと戻り値がオブジェクトで取得できるのでスクリプト内でpingの結果を使ったり加工したりする場合は、こちらの方が適していそうです。

【参考】

"Test-NetConnection (Microsoft.PowerShell.Core)" - https://docs.microsoft.com/en-us/powershell/module/nettcpip/test-netconnection?view=windowsserver2019-ps

"Test-NetConnection: How to Use It and What It Does" by Steve Larner - https://www.howtogeek.com/355664/test-netconnection-how-to-use-it-and-what-it-does/

【キーワード】

Test-NetConnectionコマンドレット、Windows PowerShell、ネットワーク、トラブルシューティング、ホスト名、IPアドレス、ポート番号、Pingテスト、TraceRoute





0 件のコメント:

ウェブサイトのURLにおけるトレイリングスラッシュの解釈と有無による動作の違い

インターネットが現代社会におけるコミュニケーションの基盤となっている今日、ウェブサイトのURLはビジネスや個人ブランディングにとって重要な役割を果たしています。URLは単にウェブページへの経路を示すだけでなく、SEO(検索エンジン最適化)においても重要な要素です。この記事では、U...