WindowsとLinuxの2つで相手先サーバのポートが動作しているか確認する方法を紹介します。
アプリケーション間でネットワーク接続をする際にポート番号ですが、送信先でポートがListen(接続してもOKな状態)していないとネットワーク通信はできません。
目次
Windows環境での確認方法
実施方法はpowershellです。
$tc = New-Object System.Net.Sockets.tcpClient
$tc.connect("IPアドレスorホスト名",ポート番号)
$tc.connected
↓が実行ログ。「True」が出力されたら対象ポートが利用できます。
> $tc = New-Object System.Net.Sockets.tcpClient
> $tc.connect("localhost",50022)
> $tc.connected
True PS C:\Users\shimidai>
$tc.connected
下のように出力されたら対象のポートへの接続ができません。
"2" 個の引数を指定して "Connect" を呼び出し中に例外が発生しました: "既に接続済みのソケットに対して接続を要求しました。" 発生場所 行:1 文字:1 + $tc.connect("localhost",50021) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : SocketException $tc.close()
Windows PowerShellポケットリファレンス改訂新版posted with ヨメレバ
牟田口大介 技術評論社 2013年03月
Linux環境での確認方法
実施方法はtelnetコマンドです。
telnet IPアドレスorホスト名 ポート番号
↓が実行ログです。Escape character is '^]'
.が出力されれば接続成功しています。
[root@rhel73-12201 ~]# telnet 192.168.56.115 22
Trying 192.168.56.115...
Connected to 192.168.56.115.
Escape character is '^]'.
接続失敗している場合はConnection refusedが出力されます。
[root@rhel73-12201 ~]# telnet 192.168.56.115 21
Trying 192.168.56.115...
telnet: connect to address 192.168.56.115: Connection refused
[改訂第3版]Linuxコマンドポケットリファレンスposted with ヨメレバ
沓名亮典 技術評論社 2015年06月