Debian で見られるように、少なくとも 3 つまたは 4 つの異なる netcat の実装があります:
- netcat-traditional 1.10-41 IPv6 をサポートしないオリジナル:おそらくインストールしたもの。
- IPv6 を提供するために作成された netcat6 (oldstable、置き換え)
- netcat-openbsd 1.130-3 . IPv6 をサポートします。
- ncat 7.70+dfsg1-3 は、nmap によって提供される Debian の安定版ではなく、IPv6 をサポートしているため、おそらく少し新しいものです。
私はopenbsdのものを選びます。バージョンごとに構文が微妙に異なる可能性があるため、注意してください。
ところで、socat は netcat よりもはるかに優れたツールであり、実際にははるかに多くのことができます。ぜひ試してみてください!
ipv4 と ipv6 の機能は、実際には、複数の実装 (フォーク) や完全に異なるバージョンがあることによる混乱の結果だと思います。検索すると、nc6
の言及に出くわします。 .この実装は、BSD ベースのディストリビューションにあるようです。
nc6
をインストールしてみます 特定のディストリビューションで nc
の代わりにそれを実行する ipv6 サポート用。
さらなる調査
2018 年 1 月 11 日付けのこのコミットを見つけることができました。IPv6 パッチを追加してください。これにより、IPv6 機能が 新しい と呼ばれているものに戻されます。 ネットキャットのバージョン。
注: 私のシステムでは nc 7.50 にしかアクセスできませんが、あなたが説明したように、両方の -4
をサポートしています と -6
.
あなたが netcat の新しいバージョンだと思っているものは、実際にはもっと古いバージョンだと思います:http://nc110.sourceforge.net/.
さまざまな実装の完全なリストが必要な場合は、Netcat に関するウィキペディアの質問で入手できます。
<ブロック引用>netcat の元のバージョンは Unix プログラムでした。最後のバージョン (1.10) は 1996 年 3 月にリリースされました.1
ほとんどの Linux ディストリビューションでは、GNU netcat または NMAP バージョンのいずれかが使用されているようです:
<ブロック引用>POSIX システムにはいくつかの実装があり、GNU netcat[5] や OpenBSD netcat6 のようにゼロから書き直したものもあり、後者は IPv6 と TLS をサポートしています。 OpenBSD バージョンは、FreeBSD base7 および Windows/Cygwin.8 に移植されました。Mac OS X には、OSX 10.13 の時点でインストールされた netcat が付属しており、ユーザーは MacPorts を使用してバリアントをインストールできます。[9] Microsoft Windows バージョンの netcat も利用できます。[10]
たとえば、CentOS 7.x の場合:
$ nc --version
Ncat: Version 7.50 ( https://nmap.org/ncat )
$ rpm -qf /bin/nc
nmap-ncat-6.40-13.el7.x86_64