1.7. ncat ユーティリティーを使用したデータの管理

ncat ネットワークユーティリティーは、Red Hat Enterprise Linux 7 で netcat に置き換わりました。ncat は信頼できるバックエンドツールで、他のアプリケーションやユーザーにネットワーク接続を提供します。ネットワークをまたいでコマンドラインからデータを読み書きし、Transmission Control Protocol (TCP)、User Datagram Protocol (UDP)、Stream Control Transmission Protocol (SCTP)、または Unix ソケットを使用して通信します。ncat は、IPv4IPv6 の両方を処理し、接続を開き、パケットを送信し、ポートスキャンを実行でき、SSL、コネクションブローカーなどの高度な機能をサポートします。
同じオプションを使用して、nc コマンドも ncat として入力できます。ncat オプションの詳細は、『移行計画ガイド』の新しいネットワーキングユーティリティ (ncat) と、man ページの 『ncat(1)』 を参照してください。

ncat のインストール

ncat パッケージをインストールするには、root で以下のコマンドを実行します。
~]# yum install ncat

ncat ユースケースの簡単な例

例1.1 クライアントとサーバーとの間の通信の有効化

  1. TCP ポート 8080 で接続をリッスンするように、クライアントマシンを設定します。
    ~]$ ncat -l 8080
  2. サーバーマシンで、クライアントの IP アドレスを指定し、同じポート番号を使用します。
    ~]$ ncat 10.0.11.60 8080
    接続のどちら側でもメッセージを送信でき、そのメッセージはローカルマシンとリモートマシンの両方に表示されます。
  3. Ctrl+D を押して、TCP接続を閉じます。

注記

UDP ポートを確認します。同じ nc コマンドに –u オプションを使用します。以下に例を示します。
~]$ ncat -u -l 8080

例1.2 ファイルの送信

前の例で説明したように情報を画面に表示するのではなく、すべての情報をファイルに送信できます。たとえば、TCP ポート 8080 を介してクライアントからサーバーにファイルを送信するには、次の手順を実行します。
  1. クライアントマシンで、ファイルをサーバーマシンに転送する特定のポートをリッスンするには、以下を実行します。
    ~]$  ncat -l 8080 > outputfile
  2. サーバーマシンで、クライアントの IP アドレス、ポート、および転送するファイルを指定するには、以下を実行します。
    ~]$  ncat -l 10.0.11.60 8080 < inputfile
ファイルが転送された後、接続は自動的に閉じます。

注記

他の対象にファイルを転送することもできます。
~]$  ncat -l 8080 < inputfile
~]$  ncat -l 10.0.11.60 8080 > outputfile

例1.3 HTTP プロキシーサーバーの作成

localhost ポート 8080 に HTTP プロキシーサーバーを作成するには、以下を実行します。
~]$  ncat -l --proxy-type http localhost 8080 

例1.4 ポートのスキャン

開いているポートを確認するには、-z オプションを使用して、スキャンするポートの範囲を指定します。
~]$  ncat -z 10.0.11.60 80-90
    Connection to 192.168.0.1 80 port [tcp/http] succeeded!

例1.5 SSL を使用した安全なクライアントサーバー通信の設定

サーバーに SSL を設定します。
~]$ ncat -e /bin/bash -k -l 8080 --ssl
クライアントマシンを設定します。
~]$ ncat --ssl 10.0.11.60 8080 

注記

SSL 接続の正確な機密性を保証するには、サーバーに --ssl-cert オプションおよび --ssl-key オプション、そしてクライアントには --ssl-verify オプションおよび --ssl-trustfile オプションが必要です。OpenSSL の詳細は、『セキュリティーガイド』のOpenSSL の使用を参照してください。
その他の例は、man ページの 『ncat(1)』 を参照してください。