HULFTを使用しないHULFTポート番号の疎通確認
再現性のあるHULFT通信エラーが発生したとします。
HULFTに起因しないことを証明する(HULFT以外でポート30000のTCP通信を行う)には、本記事の技術が役に立ちます。
また、HULFTインストール前に正しくFireWallへ設定したことを確認することもできます。
コマンドラインのTCPクライアント(Windows)
C:\>powershell ‥‥‥‥‥1)
Windows PowerShell
<略>
PS C:\>
PS C:\> tnc remote-host -Port 30000 ‥‥‥‥‥2)
<略>
TcpTestSucceeded : True ‥‥‥‥‥3)
1) powershellを実行します。
コマンドラインのTCPサーバ(Windows)
C:\>powershell ‥‥‥‥‥1)
Windows PowerShell
<略>
PS C:\> $tcp_srv = [System.Net.Sockets.TcpListener]30000 ‥‥‥‥‥2)
PS C:\> $tcp_srv.Start(); ‥‥‥‥‥2)
PS C:\> cmd.exe /c "netstat.exe -ano|findstr 30000" ‥‥‥‥‥3)
TCP 0.0.0.0:30000 0.0.0.0:0 LISTENING 19308
PS C:\> $tcp_srv.Stop(); ‥‥‥‥‥4)
1) powershellを実行します。
bashのTCPクライアント(Linux)
$ echo -n "xxxxx" > /dev/tcp/remote-host/30000 ‥‥‥‥‥1)
$ echo $? ‥‥‥‥‥2)
0 ‥‥‥‥‥3)
$
1) echoコマンドで任意の文字列を出力し、/dev/tcp/remote-host/30000へリダイレクトします。
PythonのTCPサーバ(Linux)
$ python -m SimpleHTTPServer 30000 ‥‥‥‥‥1)
Serving HTTP on 0.0.0.0 port 30000 ...
[Ctrl + C] ‥‥‥‥‥2)
Traceback (most recent call last):
<略>
KeyboardInterrupt
$
1) ポート30000にてLISNINGとなるTCPサーバを起動します。
HULFTに起因しないことを証明する(HULFT以外でポート30000のTCP通信を行う)には、本記事の技術が役に立ちます。
また、HULFTインストール前に正しくFireWallへ設定したことを確認することもできます。
※ 本記事のコマンド例では、ホスト名等は、下記としています。
通信先ホスト名 remote-host
HULFTのポートNo. 30000
※ 本記事で使用した各パッケージのバージョンは、下記の通りです。
Windows PowerShell 2.0
Bash 3.2.25
Python 2.4.3
通信先ホスト名 remote-host
HULFTのポートNo. 30000
※ 本記事で使用した各パッケージのバージョンは、下記の通りです。
Windows PowerShell 2.0
Bash 3.2.25
Python 2.4.3
コマンドラインのTCPクライアント(Windows)
C:\>powershell ‥‥‥‥‥1)
Windows PowerShell
<略>
PS C:\>
PS C:\> tnc remote-host -Port 30000 ‥‥‥‥‥2)
<略>
TcpTestSucceeded : True ‥‥‥‥‥3)
1) powershellを実行します。
2) 通信先ホスト名、通信先HULFTポートNo.を指定してtncコマンドを実行します。
3) [TcpTestSucceeded : True]が出力されれば、通信成功です。([False]なら失敗)
コマンドラインのTCPサーバ(Windows)
C:\>powershell ‥‥‥‥‥1)
Windows PowerShell
<略>
PS C:\> $tcp_srv = [System.Net.Sockets.TcpListener]30000 ‥‥‥‥‥2)
PS C:\> $tcp_srv.Start(); ‥‥‥‥‥2)
PS C:\> cmd.exe /c "netstat.exe -ano|findstr 30000" ‥‥‥‥‥3)
TCP 0.0.0.0:30000 0.0.0.0:0 LISTENING 19308
PS C:\> $tcp_srv.Stop(); ‥‥‥‥‥4)
1) powershellを実行します。
2) 2つのコマンドで、ポート30000を使用するTCPサーバを起動します。
3) ポート30000がLISTENINGとなっていることを確認します。
4) TCPサーバを停止します。
bashのTCPクライアント(Linux)
$ echo -n "xxxxx" > /dev/tcp/remote-host/30000 ‥‥‥‥‥1)
$ echo $? ‥‥‥‥‥2)
0 ‥‥‥‥‥3)
$
1) echoコマンドで任意の文字列を出力し、/dev/tcp/remote-host/30000へリダイレクトします。
2) echoコマンドの終了ステータスを確認します。
3) 終了ステータス=0であれば、通信成功です。
PythonのTCPサーバ(Linux)
$ python -m SimpleHTTPServer 30000 ‥‥‥‥‥1)
Serving HTTP on 0.0.0.0 port 30000 ...
[Ctrl + C] ‥‥‥‥‥2)
Traceback (most recent call last):
<略>
KeyboardInterrupt
$
1) ポート30000にてLISNINGとなるTCPサーバを起動します。
2) [Ctrl + C]により、強制的に終了させます。