2019年6月27日木曜日

イケてるncコマンド

先日Linuxで疑似チャットする方法として
ptsへのリダイレクトを紹介しましたが、
更にイケてるツールを発見しました。ncです。

このncコマンド、TCPやUDPでの送受信の出来合いの
テストツールを探していて見つけました。
ある端末でncをサーバとして立ち上げておき、
別の端末からサーバの宛先を指定してクライアントとして立ち上げると、
チャットツールになります。チョー便利。

具体的にはサーバ側で
$ nc -lu <ポート番号>
を実行しておき、クライアントで
$ nc -u <サーバのIPアドレス> <ポート番号>
を実行すると、お互いにメッセージ入力待ち状態になり、
メッセージがやり取りできます。
ここでオプションの'l'はサーバであることを示しており、
また'u'はUDPでの通信を表していて、
UDPなら1つのサーバに対して複数のクライアントから
メッセージを受信できたり、クライアント同士でも
チャットできることを期待してしまいますが、
残念ながらサーバとクライアント間の1対1の通信しかできません。
たくさんの人とチャットしたければポート番号を変えながら
相手の数だけncを実行しなければなりませんし、
それでも当然グループチャットにはなりません。

ちなみにオプションの'u'を外すとTCPでの通信となります。
TCPなのでUDPのときのような期待はしませんが、
UDP同様にサーバとクライアント間の
1対1の通信はしっかりできます。
ローカルで使う分にはUDPのほうがお手軽でしょう。
それならなぜTCPに対応しているのかって?
ncはチャットツールではなくて汎用の通信ツールですから。

それにしてもUNIX系のコマンドってまだ知らないものも多い。
奥の深い世界です。

0 件のコメント:

コメントを投稿