Netcat - IPv6アドレスを使用してTCPポートをリッスンする方法は?

Netcat - IPv6アドレスを使用してTCPポートをリッスンする方法は?

私は最新バージョンのnetcat()を使用しています。このバージョンにはIPv6アドレスオプション(以前のバージョンなど) v1.10-41.1がないようです。-6nc

nc -lvnp 2222以下を使用して受信ポートを入力して確認すると、netstat -puntaサーバーは2222IPv4アドレスのポートのみを受信するようです。

tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN      2839/nc  

tcp6が有効になっていません(例:私のapache2サーバー)。

tcp6       0      0 :::80                   :::*                    LISTEN      -

答え1

Debian には少なくとも 3~4 つの異なる netcat 実装があります。

  • Netcat - 伝統的1.10-41はIPv6の元のバージョンをサポートしません。おそらくインストールされたバージョンです。
  • ネットキャット6IPv6(既存の安定、代替)を提供するように設計されています。
  • netcat-openbsd1.130-3。 IPv6をサポートします。
  • 国立猫7.70+dfsg1-3 は Debian 安定版ではないため、少し新しいものかもしれません。地図、IPv6をサポートします。

私はopenbsdを選択します。バージョンごとに構文が少し異なる場合がありますのでご注意ください。

ちなみに:ソカットNetcatよりも優れたツールであり、実際にはより多くのことができます。あなたはそれを試す必要があります!

答え2

私はipv4とipv6の機能が実際に複数の実装(フォーク)またはまったく異なるバージョンの存在による混乱の結果であると思います。検索すると、nc6BSDベースのディストリビューションにあるように見えるこの実装への言及が誤って見つかります。

ipv6サポートではnc6なく、特定のディストリビューションにインストールして実行してみましょう。nc

さらなる研究

私はこれを見つけました提出日は2018-01-11です。 - IPv6パッチの追加これは明らかにあなたが言うことに再びIPv6機能を追加することです。最新インターネット猫のバージョン。

メモ:説明したように、私のシステムはnc 7.50にのみアクセスでき-4ます-6

私はあなたがnetcatの新しいバージョンだと思うのは実際には古いバージョンだと思います。http://nc110.sourceforge.net/

さまざまな実装の完全なリストが必要な場合は、以下にあります。Netcatに関するWikipediaの質問

netcatの元のバージョンはUnixプログラムでした。最後のバージョン(1.10)は1996年3月にリリースされました。1

ほとんどのLinuxディストリビューションでは、ほとんどの人はGNU netcatまたはNMAPバージョンを使用しています。

実装する方法はいくつかあります。POSIX最初から書き直すことを含むシステム。牛に似た一種の栄養インターネット猫[5]またはオープンBSDインターネット猫、6後者はIPv6をサポートし、トランスポート層セキュリティプロトコル。 OpenBSDのバージョンが次に移植されました。FreeBSD~によると7そしてウィンドウ/シグウィン。8Mac 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

関連情報