netcat【ncコマンド】
概要

コマンド名としては省略形の「nc」を用いることが多い。指定したホストとポートに対して接続を行い、標準入力から受け取ったデータを送信し、受信したデータを標準出力に表示する。ネットワーク越しにcatコマンドを実行するような仕組みである。様々なプロトコルが実装された接続先に対して、専用のクライアントやサーバを用意しなくても簡易的な通信テストを行うことができる。
自身がクライアントとして動作するモードとサーバとして動作するモードが用意されている。クライアントモードでは、接続先のホスト名とポート番号を指定してTCP接続を確立し、標準入力から送信したテキストをそのまま相手に届けることができる。サーバモードでは、「-l」オプションを付けて特定のポートで待ち受け状態にし、外部からの接続を受け付けることができる。
テキストベースの簡易な双方向通信が可能であり、ポートの疎通確認、簡易チャット、ファイル転送などを行うことができる。ポートスキャンや特定ポートへの接続テストにも用いられるため、ネットワークの動作確認やトラブルシューティングの場面で活用されることも多い。一方、バックドアの構築やデータの不正送受信にも悪用されうるツールであるため、セキュリティ監査においては、netcatが不正にインストールされていないかを確認する対象にもなる。本番環境への導入や使用にあたっては、組織のセキュリティポリシーに従った運用が求められる。
1995年に本名不詳の「*Hobbit*」氏によって開発され、UNIX系OSを中心に広く普及した。現在はLinuxやmacOSに標準搭載されているほか、Windowsでも利用可能なバイナリが配布されている。オリジナルの実装以外にもOpenBSDによる派生版や、機能を拡張したNmapプロジェクト版の「Ncat」などが存在し、オプションの仕様が実装によって若干異なる。