コマンド_nc (netcat)

Linux
ブログ

netcatとは

リモートで他の端末と接続できるコマンド。サーバーの待ち受け先と通信したり、指定したポートで通信を待ち受け(リッスンモード)、接続してきたクライアントとやり取りできる。

オプション

オプション説明
-v詳細を表示する
-vv-vよりも詳細を表示する
-z接続確認をしたら接続終了
-uUDPを指定する(デフォルトはTCP)
-lリッスンモード(接続を待ち受ける)
-ttelnetに接続する
-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

参考文献:

コメント