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
参考文献:


コメント