IPv6アドレスのオプションがないように見える最新バージョンのnetcat(v1.10-41.1
)を使用しています(-6
はnc
の古いバージョンにあったため)。
nc -lvnp 2222
と入力し、netstat -punta
を使用してリスニングポートを確認すると、サーバーはIPv4アドレスの場合のみポート2222
でリスニングしているように見えます。
tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 2839/nc
たとえば、私のApache2サーバーのようにtcp6がアクティブではありません。
tcp6 0 0 :::80 :::* LISTEN -
Debianで見られるように、少なくとも3つまたは4つの異なるnetcatの実装があります。
私はopenbsdを使います。バージョンごとに微妙に異なる構文を使用できるため、注意してください。
ちなみに socat は、netcatよりもはるかに多くのことができる優れたツールです。あなたはそれを試すべきです!
Ipv4とipv6の機能は、実際には複数の実装(フォーク)や完全に異なるバージョンがあるという混乱の結果だと思います。検索すると、nc6
の言及に遭遇します。この実装は、BSDベースのディストリビューションにあるようです。
特定のディストリビューションにnc6
をインストールし、nc
の代わりにそれを実行して、ipv6をサポートしてみます。
私はこれを見つけることができました commit dated 2018-01-11- add IPv6 patch これは、明らかにnewernetcatのバージョン。
注:私は自分のシステムでnc 7.50にのみアクセスでき、あなたが説明するように、-4
と-6
の両方をサポートしています。
あなたがnetcatの新しいバージョンであると思うものは、実際にははるかに古いバージョンであると思います http://nc110.sourceforge.net/ 。
さまざまな実装の完全なリストが必要な場合、これは Netpediaに関するWikipediaの質問 で入手できます。
Netcatの元のバージョンはUnixプログラムでした。最後のバージョン(1.10)は1996年3月にリリースされました。 1
ほとんどのLinuxディストリビューションでは、GNU netcatまたはNMAPバージョンが、ほとんどが使用しているように見えます:
[〜#〜] posix [〜#〜] システムにはいくつかの実装があり、これには [〜#〜] gnu [〜#〜] netcat- [5] または OpenBSD netcat、 6 後者はIPv6および [〜#〜] tls [〜#〜]をサポートします 。 OpenBSDバージョンは FreeBSD base 7 およびWindows/Cygwinに移植されています。 8 Mac OS Xには、OSX 10.13以降にインストールされたnetcatが付属しています。ユーザーはMacPortsを使用してバリアントをインストールできます。[9]利用可能なnetcatのMicrosoft Windowsバージョンもあります。[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