トップ回答者
Test-NetConnection はコネクション型? コネクションレス型?

質問
-
複数の特定ポート(例:port443)で送信、または受信できる事。との要求があります。
Test-NetConnectionコマンドでportを指定してテストを考えていますが
Test-NetConnectionコマンドはコネクション型でしょうか?コネクションレス型でしょうか?
コネクション型ならこのコマンドで疎通が取れたら送受信共にOKと考えています。
(例)送信確認としてTest-NetConnection -ComputerName www.google.com -Port 443で
googleへport443で送信できている事が確認できたとすると、受信も出来ていると考えていいのでしょうか。
回答
-
Test-NetConnectionの-Portパラメーターの説明に
Specifies the TCP port number on the remote computer. The cmdlet uses this port number to test connectivity to the remote computer.
とあるので明確にTCPです。TCPは3ウェイ・ハンドシェイクと言って相手からの応答がなければ接続が完了しません。コネクション型であり受信もできていると判断できます。
そもそもUDP等のコネクションレス型では応答が得られないため、送信したパケットが相手に届いたのかインターネットの闇にのみ込まれたのか(汎用的に)判断する術がありません。テスト不可能です。
- 編集済み 佐祐理 2020年11月10日 12:05
- 回答の候補に設定 チャブーンMVP 2020年11月11日 13:26
- 回答としてマーク kumo-msftMicrosoft contingent staff, Moderator 2021年3月23日 3:00
-
チャブーンです。
この件ですが、おそらく元のAPIがsystem.net.sockets.tcpclient()であること、実行時のパラメータに「TcpTestSucceeded」があることから考えると、接続自体は行っているように思われますが。ICMPはあくまでpingなので、データそのものは流していないと思います。
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 編集済み チャブーンMVP 2020年11月10日 3:47
- 回答としてマーク kumo-msftMicrosoft contingent staff, Moderator 2021年3月23日 3:00
すべての返信
-
チャブーンです。
この件ですが、おそらく元のAPIがsystem.net.sockets.tcpclient()であること、実行時のパラメータに「TcpTestSucceeded」があることから考えると、接続自体は行っているように思われますが。ICMPはあくまでpingなので、データそのものは流していないと思います。
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 編集済み チャブーンMVP 2020年11月10日 3:47
- 回答としてマーク kumo-msftMicrosoft contingent staff, Moderator 2021年3月23日 3:00
-
Test-NetConnectionの-Portパラメーターの説明に
Specifies the TCP port number on the remote computer. The cmdlet uses this port number to test connectivity to the remote computer.
とあるので明確にTCPです。TCPは3ウェイ・ハンドシェイクと言って相手からの応答がなければ接続が完了しません。コネクション型であり受信もできていると判断できます。
そもそもUDP等のコネクションレス型では応答が得られないため、送信したパケットが相手に届いたのかインターネットの闇にのみ込まれたのか(汎用的に)判断する術がありません。テスト不可能です。
- 編集済み 佐祐理 2020年11月10日 12:05
- 回答の候補に設定 チャブーンMVP 2020年11月11日 13:26
- 回答としてマーク kumo-msftMicrosoft contingent staff, Moderator 2021年3月23日 3:00