netcatとは
リモートで他の端末と接続できるコマンド。サーバーの待ち受け先と通信したり、指定したポートで通信を待ち受け(リッスンモード)、接続してきたクライアントとやり取りできる。
オプション
オプション | 説明 |
---|---|
-v | 詳細を表示する |
-vv | -vよりも詳細を表示する |
-z | 接続確認をしたら接続終了 |
-u | UDPを指定する(デフォルトはTCP) |
-l | リッスンモード(接続を待ち受ける) |
-t | telnetに接続する |
-e | 接続許可時または接続後にプログラムを実行 |
netcatでサーバーと通信する
$ nc␣ホスト名(IPアドレス)␣ポート番号
# ターミナルを開き自ホストのポート10000で待ち受ける。
$ nc -l 10000
# もう一つターミナルを開き、先の待ち受けポート10000へ接続する。
$ nc localhost 10000
または
$ nc 127.0.0.1 10000
上記のようにターミナルを入力すると、互いの接続が完成します。
互いに何かを入力するともう一方のターミナルに反映されます。つながっていることがわかります。
データの転送
自ホストのポート番号10000にファイル名「aaa.txt」を用意して、そこにデータを送り込む。
# ポート番号10000に待ち受けファイル「aaa.txt」を準備する。
$ nc -l 10000 > aaa.txt
# 別のターミナルから待ち受けた「aaa.txt」にデータを送る
$ echo "abcde" | nc localhost 10000
後者のターミナルを閉じ、前者のターミナルからデータが転送されたことを確認する。
$ cat aaa.txt
abcde
参考文献:
コメント