1.概要
ネットワークの疎通確認は、多くの場合【pingコマンド】を使うと思います。
新規システムを構築した、またはシステムの調子が悪い場合など
「とりあえずpingが通るか確認する」
という工程をふむはずです。
私は必ずと言っていい程とりあえずpingを打ってみます。
但し、これは通信相手までのネットワーク疎通確認にすぎません。
今回はポートを指定しての疎通確認について記事にしてみました。
2.ping(ピング)とは
通信相手までTCP/IPでネットワークの疎通が取れるか確認するコマンド
という解釈です。
厳密には応答速度を調べたりも出来ますが
実態はとりあえずの疎通確認に使われるのが一般的かと思います。
但しpingにはポートという概念がありません。
【ICMP】という通信状態の確認をするために使われるプロトコルなのです。
※ICMP(Internet Control Message Protocol)
3.test-netconnectionについて
pingテスト、TCPテスト、ルートトレース、およびルート選択診断をサポートします。
このコマンドは【PowerShell】で実行可能なコマンドになります。
4.実際にやってみる
とりあえず【google.com】に対してオプションを指定せずコマンドを実行します。
>test-netConnection google.com
ComputerName : google.com
RemoteAddress : 172.217.31.142
InterfaceAlias : イーサネット
SourceAddress : 192.168.0.120
PingSucceeded : True
PingReplyDetails (RTT) : 2 ms
オプション指定がない場合はpingと同じ動作になるようです。
次にポートを指定してみます。
>test-netConnection google.com -port 443
ComputerName : google.com
RemoteAddress : 142.250.196.142
RemotePort : 443
InterfaceAlias : イーサネット
SourceAddress : 192.168.0.120
TcpTestSucceeded : True
HTTPSのポートを指定してみたところ、通信疎通確認に問題がないことが確認出来ました。
更に、適当なポートを指定してみます。
>test-netConnection google.com -port 5000
警告: TCP connect to (142.250.196.142 : 5000) failed
ComputerName : google.com
RemoteAddress : 142.250.196.142
RemotePort : 5000
InterfaceAlias : イーサネット
SourceAddress : 192.168.0.120
PingSucceeded : True
PingReplyDetails (RTT) : 3 ms
TcpTestSucceeded : False
通信は出来るけど、そのポートはリッスンされてないという内容が確認出来ます。
5.まとめ
これでサーバーのポートが正常に解放されているか、リッスンされた状態か
簡単に調べることが出来ると思います。
pingで疎通確認出来てるのにサーバーの動作がおかしい時などに
【test-netConnection】でポートの状態を調べてみるのもいいかもしれません。