読み方 : ネットキャット

netcat【ncコマンド】

概要

netcatとは、TCPUDPを使った任意のネットワーク接続を手動で確立・操作できるコマンドラインツール。主にLinuxなどのUNIX系OSで用いられるコマンドで、シンプルな設計ながら幅広いネットワーク操作に応用できる十徳ナイフのような汎用性の高いツールである。
netcatのイメージ画像

コマンド名としては省略形の「nc」を用いることが多い。指定したホストとポートに対して接続を行い、標準入力から受け取ったデータを送信し、受信したデータ標準出力に表示する。ネットワーク越しにcatコマンドを実行するような仕組みである。様々なプロトコルが実装された接続先に対して、専用のクライアントサーバを用意しなくても簡易的な通信テストを行うことができる。

自身がクライアントとして動作するモードとサーバとして動作するモードが用意されている。クライアントモードでは、接続先のホスト名ポート番号を指定してTCP接続を確立し、標準入力から送信したテキストをそのまま相手に届けることができる。サーバモードでは、「-l」オプションを付けて特定のポートで待ち受け状態にし、外部からの接続を受け付けることができる。

テキストベースの簡易な双方向通信が可能であり、ポートの疎通確認、簡易チャットファイル転送などを行うことができる。ポートスキャンや特定ポートへの接続テストにも用いられるため、ネットワーク動作確認トラブルシューティングの場面で活用されることも多い。一方、バックドアの構築やデータの不正送受信にも悪用されうるツールであるため、セキュリティ監査においては、netcatが不正にインストールされていないかを確認する対象にもなる。本番環境への導入や使用にあたっては、組織のセキュリティポリシーに従った運用が求められる。

1995年に本名不詳の「*Hobbit*」氏によって開発され、UNIX系OSを中心に広く普及した。現在はLinuxやmacOSに標準搭載されているほか、Windowsでも利用可能なバイナリが配布されている。オリジナルの実装以外にもOpenBSDによる派生版や、機能を拡張したNmapプロジェクト版の「Ncat」などが存在し、オプションの仕様が実装によって若干異なる。

主なLinuxコマンド

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。