FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | クライアント/サーバモデル | データ転送 | サーバとの対話 | ポートスキャン | 使用例 | 終了ステータス | 関連項目 | 作者 | 警告
NC(1)                   FreeBSD 一般コマンドマニュアル                   NC(1)

名称
     nc -- 任意の TCP と UDP の接続と listen (接続を受け付け)

書式
     nc [-46DdEFhklNnrStUuvz] [-e IPsec_policy] [-I length] [-i interval]
        [--no-tcpopt] [-O length] [-P proxy_username] [-p source_port]
        [-s source] [-T toskeyword] [-V rtable] [-w timeout]
        [-X proxy_protocol] [-x proxy_address[:port]] [destination] [port]

解説
     nc (または、netcat) ユーティリティは、ほとんど何にでも TCP、UDP、または
     UNIX ドメインソケットに関連する世界中で使用されます。それは、TCP 接続を
     オープンして、UDP パケットを送信して、任意の TCP と UDP ポート上で listen
     (接続を受け付け) して、ポートスキャンをして、そして IPv4 と IPv6 の両方を
     処理することができます。telnet(1) と異なって、nc は、うまくスクリプトにし
     て、何らかを行う telnet(1) のように、エラーメッセージを標準出力に送る代わ
     りに標準エラーに分離します。

     一般的な用途は、次を含みます:

           •   単純な TCP プロキシ
           •   HTTP クライアントとサーバに基づくシェルスクリプト
           •   ネットワークデーモンのテスト
           •   ssh(1) (セキュアシェル) のための SOCKS または HTTP ProxyCommand
           •   そして多く、さらに多く

     オプションは、次の通りです:

     -4      nc に強制的に IPv4 アドレスだけを使用させます。

     -6      nc に強制的に IPv6 アドレスだけを使用させます。

     -D      ソケットでデバッグを有効にします。

     -d      stdin から読み込むことを試みません。

     -E      両方向への IPsec ESP 転送モードを有効にする、"-e 'in ipsec
             esp/transport//require' -e 'out ipsec esp/transport//require'" の
             短縮形です。

     -e      IPsec サポートが利用可能であるなら、それは、ipsec_set_policy(3)
             で記述された構文を使用することで IPsec ポリシを指定することができ
             ます。このフラグは、一般的に各方向で 1 つのポリシが必要とされるよ
             うに 2 回まで指定することができます。

     -F      sendmsg(2) を使用して、最初の接続されたソケットを stdout に渡し、
             終了します。これは、プロキシで接続のセットアップを実行する nc を
             持つために -X とともに役に立ちますが、別のプログラムに接続をまか
             せます (例えば、ssh_config(5) ProxyUseFdpass オプションを使用する
             ssh(1))。

     -h      nc ヘルプを印刷します。

     -I length
             TCP 受信バッファのサイズを指定します。

     -i interval
             テキスト送受信の行の間の遅延時間の間隔を指定します。また、複数の
             ポートに接続する間に遅延時間が生じます。

     -k      nc に、現在の接続が終了した後に別の接続を listen (接続の受け付け)
             したままにすることを強制します。-l オプションなしでこのオプション
             を使用するとエラーとなります。-u オプションとともに使用されると
             き、サーバソケットは、接続されず、複数のホストから UDP データグラ
             ムを受信することができます。

     -l      nc が、リモートホストに接続を開始するよりむしろ着信接続を listen
             (接続の受け付け) するべきであることを指定するために使用されます。
             -p, -s または -z オプションと同時にこのオプションを使用すればエ
             ラーとなります。さらに、-w オプションで指定されたどんなタイムアウ
             トも無視されます。

     -N      入力で EOF の後にネットワークソケットを shutdown(2) します。いく
             つかのサーバは、それらの作業を終了するために、これを要求します。

     -n      任意の指定されたアドレス、ホスト名またはポートで、DNS またはサー
             ビス検索を行ないません。

     --no-tcpopt
             ブール値 TCP_NOOPT ソケットオプションを設定することによって、ソ
             ケットで TCP オプションの使用を無効にします。

     -O length
             TCP 送信バッファのサイズを指定します。

     -P proxy_username
             認証を必要とするプロキシサーバに提示するユーザ名を指定します。
             ユーザ名が指定されないなら、認証は、試みられません。プロキシ認証
             は、現在のところ、HTTP CONNECT プロキシのためだけにサポートされて
             います。

     -p source_port
             特権制限と利用可能性にしたがって、nc が使用すべきである発信元 (始
             点) ポートを指定します。-l オプションと同時にこのオプションを使用
             すればエラーとなります。

     -r      発信元 (始点) そして/または宛先 (終点) ポートが、範囲内で連続して
             いるか、またはシステムがそれらを割り当てる順序の代わりにランダム
             に選択すべきであることを指定します。

     -S      RFC 2385 TCP MD5 シグネチャ (署名) オプションを有効にします。

     -s source
             パケットを送信するために使用される IP インタフェースを指定しま
             す。UNIX ドメインデータグラムソケットのために、データグラムを受信
             することができるように、作成して、使用するローカルの一時的なソ
             ケットファイルを指定します。-l オプションと同時にこのオプションを
             使用すればエラーとなります。

     -T toskeyword
             IPv4 TOS 値を変更します。toskeyword は、critical, inetcontrol,
             lowdelay, netcontrol, throughput, reliability の 1 つ、または次の
             DiffServ Code Points の 1 つを指定できます: ef, af11 ... af43,
             cs0 ... cs7; または 16 進数か 10 進数の数値。

     -t      nc は、RFC 854 DO と WILL 要求対して RFC 854 DON'T と WON'T 応答
             を送るようにします。これで、nc が telnet セッションでスクリプトを
             使用することが可能になります。

     -U      UNIX ドメインソケットを使用するために指定します。

     -u      TCP のデフォルトのオプションの代わりに UDP を使用します。UNIX ド
             メインソケットに関して、ストリームソケットの代わりにデータグラム
             ソケットを使用します。UNIX ドメインソケットが使用されていて、-s
             フラグが与えられないなら、一時的な受信ソケットは、/tmp に作成され
             ます。

     -V rtable
             使用される経路表 (routing table) の (``FIB'') を設定します。

     -v      nc により冗長な出力を生じさせます。

     -w timeout
             確立することができないか、または timeout 秒の後にアイドルとなるタ
             イムアウトの接続。-w フラグは、-l オプションで効果がありません、
             すなわち、nc は、-w フラグのあるなしにかかわらず、いつまでも接続
             を listen (接続を受け付け) します。デフォルトでは、タイムアウトは
             ありません。

     -X proxy_protocol
             プロキシサーバと通信するとき、nc は、指定されたプロトコルを使用す
             るべきであるということを要求します。サポートされているプロトコル
             は、``4'' (SOCKS v.4), ``5'' (SOCKS v.5) と ``connect'' (HTTPS プ
             ロキシ) です。プロトコルが指定されないなら、SOCKS バージョン 5 が
             使用されます。

     -x proxy_address[:port]
             ncproxy_addressport でプロキシを使用して destination に接
             続すべきであることを要求します。port が指定されないなら、プロキシ
             プロトコルのためによく知られているポート (SOCKS のために 1080、
             HTTPS のために 3128) が使用されます。

     -z      nc が任意のデータをそれらに送信しないでデーモンを listen (接続を
             受け付け) するためだけにスキャンすべきであることを要求します。-l
             オプションと同時にこのオプションを使用すればエラーとなります。

     destination は、(-n オプションが与えられないなら) 数値 IP アドレスまたは
     シンボリックなホスト名を指定できます。一般的に、宛先は、-l オプションが与
     えられないなら (その場合、ローカルホストが使用されます) 指定されなければ
     なりません。UNIX ドメインソケットに関して、宛先は、要求され、接続 (また
     は、-l オプションが与えられるなら、listen (接続を受け付け)) するソケット
     のパスです。

     port は、単一の整数か、またはポートの範囲を指定できます。範囲は、形式 nn
     mm です。一般的に、宛先 (終点) ポートは、-U オプションが与えられないな
     ら、指定されなければなりません。

クライアント/サーバモデル
     nc を使用する、たいへん基本的なクライアント/サーバモデルを構築することは
     とても簡単です。1 つ目のコンソールで、接続のために特定のポート上で nc の
     listen (接続を受け付け) を開始します。例えば:

           $ nc -l 1234

     nc は、現在、接続のためにポート 1234 で listen (接続を受け付け) されま
     す。2 つ目のコンソール (または、2 つ目のマシン) で、次で listen (接続を受
     け付け) されるマシンとポートに接続します。

           $ nc 127.0.0.1 1234

     現在、ポートの間に接続があるべきです。2 つ目のコンソールでタイプされたも
     のは、最初のものに連結されます、そして逆もまた同様です。接続がセットアッ
     プされた後に、nc は、どちら側が `サーバ' として使用されているか、そしてど
     ちら側が `クライアント' として使用されているかを本当に気にしません。接続
     は、EOF (`^D') を使用して終了されます。

データ転送
     前のセクションの例は、基本的データ転送モデルを構築するために拡張すること
     ができます。接続の一つの端への入力された任意の情報は、他の端に出力され、
     そして入力と出力は、ファイル転送をエミュレートするために容易にキャプチャ
     (捕獲) されます。

     ファイル中にキャプチャ (捕獲) された出力で特定のポートで listen (接続を受
     け付け) するために nc を使用することによって、開始します。

           $ nc -l 1234 > filename.out

     2 つ目のマシンを使用して、転送されるファイルを供給して、listen (接続を受
     け付け) する nc プロセスに接続します:

           $ nc -N host.example.com 1234 < filename.in

     ファイルが転送された後に、接続は、自動的にクローズされます。

サーバとの対話
     ユーザインタフェースを通してよりむしろ ``手動で'' サーバと通信すること
     は、時々役に立ちます。クライアントによって発行されたコマンドに応答してど
     んなデータがサーバに送信されているかを確認する必要があるかもしれないとき
     に、トラブルシューティング (障害点検) で助けとなります。例えば、ウェブサ
     イトのホームページを検索するために:

           $ printf "GET / HTTP/1.0\r\n\r\n" | nc host.example.com 80

     また、これは、ウェブサーバによって送られたヘッダを表示することに注意して
     ください。必要なら、sed(1), などのツールを使用して、それらをフィルタする
     ことができます。

     ユーザが、サーバによって要求された要求 (リクエスト) の形式を知っていると
     き、より複雑な例を構築することができます。別の例として、メールは、次を使
     用して SMTP サーバに投稿できます:

           $ nc localhost 25 << EOF
           HELO host.example.com
           MAIL FROM:<user@host.example.com>
           RCPT TO:<user2@host.example.com>
           DATA
           Body of email.
           .
           QUIT
           EOF

ポートスキャン
     ターゲットマシン上でどのポートがオープンされ、サービスを実行しているかを
     知るために役に立ちます。接続を開始するよりは、むしろオープンしたポートを
     報告するように nc に伝えるために -z フラグを使用することができます。例え
     ば:

           $ nc -z host.example.com 20-30
           Connection to host.example.com 22 port [tcp/ssh] succeeded!
           Connection to host.example.com 25 port [tcp/smtp] succeeded!

     ポート範囲は、ポート 20 - 30 への検索を制限するために指定されます。

     代わりに、それは、どのサーバソフトウェアが実行しているか、そして、どの
     バージョンかを知るために役に立つかもしれません。この情報は、あいさつバ
     ナーの中にしばしば含まれています。これらを検索するために、最初に接続を確
     立する必要があり、次に、バナーが検索された時に、接続を切る必要がありま
     す。-w フラグで小さいタイムアウトを指定することによって、または恐らくサー
     バに "QUIT" コマンドを発行することによって、これを達成することができます:

           $ echo "QUIT" | nc host.example.com 20-30
           SSH-1.99-OpenSSH_3.6.1p2
           Protocol mismatch.
           220 host.example.com IMS SMTP Receiver Version 0.84 Ready

使用例
     5 秒のタイムアウトで、発信元 (始点) ポートとしてポート 31337 を使用して、
     host.example.com のポート 42 へ TCP 接続をオープンします:

           $ nc -p 31337 -w 5 host.example.com 42

     host.example.com のポート 53 へ UDP 接続をオープンします:

           $ nc -u host.example.com 53

     接続のローカルの終りの IP として 10.1.2.3 を使用して、host.example.com の
     ポート 42 へ TCP 接続をオープンします:

           $ nc -s 10.1.2.3 host.example.com 42

     着信と発信トラフィックのための IPsec ESP を使用して、host.example.com の
     ポート 42 へ TCP 接続をオープンします:

           $ nc -E host.example.com 42

     発信トラフィックだけのための IPsec ESP を使用して、host.example.com の
     ポート 42 へ TCP 接続をオープンします:

           $ nc -e 'out ipsec esp/transport//require' host.example.com 42

     UNIX ドメインストリームソケットを作成して、listen (接続を受け付け) しま
     す:

           $ nc -lU /var/tmp/dsocket

     10.2.3.4 のポート 8080 の HTTP プロキシを通して host.example.com のポート
     42 へ接続します。ssh(1) によって、この例を使用することもできます。詳細に
     ついては、ssh_config(5)ProxyCommand ディレクティブを参照してくださ
     い。

           $ nc -x10.2.3.4:8080 -Xconnect host.example.com 42

     再び同じ例ですが、今回は、プロキシが必要とするなら、ユーザ名 ``ruser'' で
     プロキシ認証を有効にします:

           $ nc -x10.2.3.4:8080 -Xconnect -Pruser host.example.com 42

終了ステータス
     ユーティリティ nc は、成功すると 0 で、エラーがあった場合は >0 で終了しま
     す。

関連項目
     cat(1), setfib(1), ssh(1), tcp(4)

作者
     オリジナルの実装は、*Hobbit* <hobbit@avian.org> によります。
     Eric Jackson <ericj@monkey.org> によって IPv6 サポートのために書き直され
     ました。

警告
     フラグの -uz の組み合わせを使用する UDP ポートスキャンは、常にターゲット
     マシンの状態に関係なく成功を報告します。しかしながら、ターゲットマシンま
     たは中間のデバイスのいずれかでトラフィックのスニファ (訳注: ネットワーク
     をモニタするプログラム) とともに、-uz の組み合わせは、通信の診断に役に立
     つことができます。生成された UDP トラフィックの量は、ハードウェアのリソー
     スおよび/または設定により、制限されているかもしれないことに注意してくださ
     い。

FreeBSD 11.2                  September 26, 2015                  FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索