2014年12月20日土曜日

[Windows]netcat でデータの送受信を行う

netcat でテキストデータの送受信を行います。

Windows 版で行っていますが、基本は Linux 版とも同じだと思います。

用意すること
netcat をダウンロードします。(Windows 版の netcat 参照)
2台のマシンに netcat のプログラム nc.exe をコピーしておきます。(どこでも良いです。私の環境では c:\toolkit\ に置いています。)

データ受信側の設定
データを受け取る方では netcat を Listsn モードで立ち上げます。

コマンド C:\> nc.exe -l -p 33999 > host01_20141220.txt
※ポート 33999 番を使ってプロセスを立ち上げてます。


Windows Firewall の警告が出たら、プライベートネットワークのみアクセスを許可して立ち上げます。

確認コマンド C:\> netstat -an

アクティブな接続に
 TCP    0.0.0.0:33999          0.0.0.0:0              LISTENING
があることをチェックします。


IP アドレスを確認します。
確認コマンド C:\> ipconfig

マシンの IP アドレスは 192.168.2.10 となっていました。


データ送信
試しに netcat の readme.txt ファイルを送ってみます。
ダウンロードした netcat を展開したフォルダ(C:\Toolkit\nc111nt)にある readme.txt。
nc.exe が netcat のプログラムです。

それでは送信します。

コマンド C:\Toolkit\nc111nt> type readme.txt | nc.exe 192.168.2.10 33999


コマンドがいつになっても終了しないですが、受け取り側にはデータは届いていました。
サイズが 7KB となっています。


データ送信側のコマンドプロンプトを[Ctrl + C]で終了すると、データ受け取り側の nc.exe プロセスも終了していました。


上では type コマンドを使いましたが、このようにファイルを指定することも可能です。

コマンドC:\Toolkit\nc111nt> nc.exe 192.168.2.10 33999 < readme.txt

もちろんバイナリファイルでも同じことができます。

Windows Tools のページに戻る

0 件のコメント:

コメントを投稿