GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • メインページ
  • コミュニティ・ポータル
  • 最近の出来事
  • 新しいページ
  • 最近の更新
  • おまかせ表示
  • 練習用ページ
  • アップロード (ウィキメディア・コモンズ)
  • 特別ページ
  • ヘルプ
  • 利用案内
  • 井戸端
  • お知らせ
  • バグの報告

This view

  • Original page
  • New address

GeezerVison is showing ja.wikipedia.org — netcat - Wikipedia

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "Netcat" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL
(2026年2月)
Netcat
スクリーンショット
作者 Avian Research
開発元 *Hobbit*
最新版
1.10 / 1996年3月20日 (1996-03-20)[1]
対応OS UNIX、Unix系、DOS、Windows、Windows CE
後継 オリジナル版より機能的に優位な派生・互換ツールが存在する。
種別 ネットワークユーティリティ
ライセンス オリジナル版: 独自のパーミッシブ・ライセンス[2]
GNU版: GPL
OpenBSD版: BSD
公式サイト nc110.sourceforge.net ウィキデータを編集

netcatは、Unix系オペレーティングシステム (OS) コマンドラインアプリケーションの一つ。TCPやUDPのパケットを読み書きするバックエンドとして機能するツールで、ネットワークを扱う万能ツールとして知られる。オリジナル版より機能的に優位な派生・互換ツールが開発され、用いられている。

概要

netcatは、Unix系OSで動作するコマンドラインアプリケーションである。TCPやUDPを扱う万能ツールとして知られ、しばしばネットワークのスイスアーミーナイフ[3]、TCP/IPのアーミーナイフ、ハッカーのアーミーナイフなどのように評される。その万能性ゆえ、nmapの作者として知られるセキュリティ専門家のGordon Lyonが管理するInsecure.orgにおいて、ネットワークセキュリティツール部門の常に上位5位以内にランキングされているツールである。

歴史

*Hobbit*によって作成、1995年10月12日にバージョン1.00がリリースされる[1]。その後、ドキュメント整備や機能強化(hexdump機能など)の末、1996年にバージョン1.10がリリースされる[1]。この時点で既に機能面では充分なものに仕上がっており、それ以降、10年以上に渡ってバージョン更新されていないが、未だに「ネットワークの万能ツール」の名は健在である。このことは、ツールの完成度の高さを物語っているといえる。そのため、このツールはバージョン番号を含めたアーカイブファイル名である「nc110.tgz」の名前で検索することで容易に見つかるものとなっている。

Insecure.orgのネットワークセキュリティツール部門において、このツールは2000年に2位、2003年から2006年まで4位といったように、常に上位ランキングされている[4]。また、同サイトでは「TCP/IPパケットの読み書きを行うツール」を意味する分類名としても用いられている[5]。

機能

このツールの対象はIPv4におけるTCPパケットとUDPパケットであり、これらのパケットの読み書きが主な機能となる。以下、同ソフトウェアに同梱されている文書[6]から機能を抜粋して説明する。

TCPおよびUDPの、任意のポートを対象とした読み書き
基本機能である。
DNSフォワード/リバースチェック
DNSの逆引きチェックを行うようになっている
ローカルソースポートの指定
送信元ポート番号を指定することが可能である。
ローカルソースアドレスの指定
送信者IPアドレスの詐称が可能である。
ポートスキャン機能
Zero-I/Oモードと呼ばれる、ポートオープンのみを行い、コネクション確立後にパケット送受信を行わずにセッション切断する機能が設けられている。また、ポート番号を範囲指定する機能、指定範囲内でポート番号をランダム化する機能も併用可能となっている。
ルーズソースルーティング機能
IPv4におけるソースルーティングの1つである、ルーズソースルーティングを行うためのIPアドレス指定が可能となっている。
標準ストリームの読み書き
ネットワークからの読み込みの結果は、指定がない限り、標準出力に書き出される。また、ネットワークへの書き出しには、指定がない限り、標準入力の内容が用いられる。
低速送信モード
送信行単位で一定時間ウエイトを設ける機能が設けられており、この機能を用いることで、あたかも受け答えをしているかのように振舞うことが可能となっている。
サーバモード
TCPにおけるサーバとして機能させることができる。accept成功時、事前に指定したコマンドを実行し、そのコマンドの標準入出力をソケットのI/Oに接続することも可能となっている(GAPING_SECURITY_HOLE付でコンパイルした場合)。
telnetモード
telnetプロトコルを話すことが可能となっている。

使用例

以下のように多彩な使い道があり、そのような使い方の例は、同ツールのアーカイブ内(scriptsディレクトリ内)にも含まれている他、使い道をスクリプトとして集めたサイトもいくつか存在する。

Webサーバからの情報取得

nc servername 80 << !
GET / HTTP/1.0

!

http://servername:80/ にブラウザでアクセスした場合と同等の結果を、HTTPヘッダ付で取得し、HTMLレンダリングを行わずに生データのまま画面に表示する。なお、記事冒頭に示した画像も、接続先がlocalhostになっているが、同様の処理を行うサンプルである。

簡易Webサーバ

( echo "HTTP/1.0 200 Ok"; echo; cat -u return_file ) | nc -l -p 8080

他の端末からhttp://servername:8080/のようにアクセスすることで、指定されたファイルreturn_fileを送出するWebサーバとして機能する。なお、他の端末からのアクセス時には、netcatを実行した端末にHTTPリクエストが表示されることになる。

簡易telnetサーバ

nc -l -p 10025 -e /bin/sh

他の端末からポート10025にアクセスすることで、入出力が/bin/shにリダイレクトされるようになる。すなわち、バックドアとして機能するようになる。もちろん認証機能は存在せず、実行権限はnetcatの実行権限と同一となる。Windows版では以下のように指定すれば同様にバックドアとして機能するようになる。

start nc -d -L -p 10025 -e cmd.exe

オプション-Lは、セッション切断後も継続してlistenするためのオプションである。また、オプション-dはステルスモードとなり、コマンドプロンプト・ウィンドウなしで動作するようになる。このような使い方が可能なツールゆえ、netcatのWindows版は主要なウィルススキャナの半数以上によってウィルス(リモートAdminツール)として判定されるものとなっている[7]。

ポートスキャン

nc -v -n -z -w 1 servername 1-1000

指定されたサーバに対してポートスキャンを行う。ポート番号の範囲は1 - 1000で、スキャン間隔は1秒。

プロキシ

nc -l -p 8080 -e nc servername 80

指定されたWebサーバに接続するWebプロキシとして機能する。

メール送信

nc -i 2 mailserver 25 <<!
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA
Hi, This is test mail.
.
QUIT
!

指定されたメールアドレスにメールを送る。行単位での送信間隔(-i)を2秒に指定しているが、このオプションを指定しない場合、MAIL FROMを投げてもよいというサーバからのメッセージ(200番台のステータスコード)が送られてくるまでにMAIL FROMやそれ以降のデータを送信してしまうこととなるため、具合が悪い。サーバからの応答を待ってから送信する仕組みを即席で作りたい場合に、このオプションは有用である。

派生・互換ツール

netcatにはいくつかの派生・互換ツールが存在する。

Ncat(nmap付属)[8]
nmapの一部として開発された。GPLライセンス。
OpenBSD netcat[9]
0から書き直されたnetcat互換ツールでIPv6に対応しているnetcat。BSDライセンス。
GNU netcat
0から書き直されたnetcat互換ツール。GPLライセンス。
Netcat Darwin Port[10]
macOSで使用可能なnetcatである。
Windows版netcat[11]
Windows上で使用可能なnetcatである。
Jetcat[12]
netcatの一部の機能をJavaで実現したものである。
socat

脚注

  1. 1 2 3 同ソフトウェアに同梱して配布されているChangelogより。
  2. ↑ “Copyright file”. Debian. 2008年12月26日時点のオリジナルよりアーカイブ。2009年10月12日閲覧。
  3. ↑ “The network Swiss army knife”. 2009年10月12日閲覧。
  4. ↑ “Top 100 Network Security Tool”. 2009年10月12日閲覧。
  5. ↑ “Top 2 Netcats”. 2009年10月12日閲覧。
  6. ↑ “Netcat: the TCP/IP swiss army”. 2009年10月12日閲覧。
  7. ↑ “Virustotal nc.exeの解析結果”. 2010年1月28日時点のオリジナルよりアーカイブ。2009年10月12日閲覧。
  8. ↑ https://nmap.org/ncat/
  9. ↑ http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/nc/
  10. ↑ http://netcat.darwinports.com/
  11. ↑ http://www.securityfocus.com/tools/139
  12. ↑ https://sourceforge.net/projects/jetcat/

関連項目

  • nmap
  • Telnet

外部リンク

  • 公式ウェブサイト (英語)
  • nc(1) – Linux User Commands Manual (en)
Unixコマンド
ファイルとファイルシステム管理
  • cat
  • chattr
  • chmod
  • chown
  • chgrp
  • cksum
  • cmp
  • cp
  • dd
  • du
  • df
  • file
  • fsck
  • fuser
  • ln
  • ls
  • lsof
  • mkdir
  • mount
  • mv
  • pax
  • pwd
  • rm
  • rmdir
  • size
  • split
  • tee
  • touch
  • type
  • umask
プロセス管理
  • at
  • bg
  • chroot
  • cron
  • fg
  • kill
  • killall
  • nice
  • pgrep
  • pidof
  • pkill
  • ps
  • pstree
  • reboot
  • shutdown
  • time
  • top
ユーザ管理/環境
  • clear
  • env
  • exit
  • finger
  • history
  • id
  • logname
  • mesg
  • passwd
  • su
  • sudo
  • uptime
  • talk
  • tput
  • uname
  • w
  • wall
  • who
  • whoami
  • write
テキスト処理
  • awk
  • banner
  • basename
  • comm
  • csplit
  • cut
  • diff
  • dirname
  • ed
  • ex
  • fmt
  • fold
  • head
  • iconv
  • join
  • less
  • m4
  • more
  • nkf
  • nl
  • paste
  • patch
  • printf
  • read
  • sed
  • sort
  • spell
  • strings
  • tail
  • tr
  • troff
  • uniq
  • vi
  • wc
  • xargs
  • yes
シェルビルトイン
  • alias
  • cd
  • echo
  • test
  • unset
  • wait
通信
  • dig
  • host
  • ifconfig
  • inetd
  • ip (iproute2)
  • netcat
  • netstat
  • nslookup
  • ping
  • rdate
  • rlogin
  • route
  • ssh
  • traceroute
検索
  • find
  • grep
  • locate
  • whatis
  • whereis
マニュアル
  • apropos
  • help
  • man
ソフトウェア開発
  • ar
  • ctags
  • lex
  • make
  • nm
  • strip
  • yacc
その他
  • bc
  • dc
  • cal
  • date
  • expr
  • false
  • lp
  • lpr
  • od
  • sl
  • sleep
  • stty
  • true
  • tty
  • Category:UNIXのソフトウェア
  • UNIXユーティリティの一覧
スタブアイコン

この項目は、ソフトウェアに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。

  • 表示
  • 編集
「https://ja.wikipedia.org/w/index.php?title=Netcat&oldid=111321557」から取得
カテゴリ:
  • UNIXのソフトウェア
  • ネットワークソフト
  • Windowsのソフトウェア
  • ネットワーク・アナライザ
  • ネットワーク管理
  • Cでプログラムされた自由ソフトウェア
隠しカテゴリ:
  • 出典を必要とする記事/2026年2月
  • すべてのスタブ記事
  • ソフトウェア関連のスタブ
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.