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


13

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

入力してnc -lvnp 2222でリッスンポートをチェックするnetstat -puntaと、サーバーはポート2222でIPv4アドレスのみをリッスンしているように見えます。

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

tcp6は、例えば私のapache2サーバーのようにアクティブではありません:

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

回答:


17

Debianで見られるように、少なくとも3つか4つの異なるnetcatの実装があります:

  • netcat-traditional 1.10-41 IPv6をサポートしないオリジナル:おそらくインストールしたもの。
  • netcat6 IPv6を提供するためになされた(旧安定版、置き換え)。
  • netcat-openbsd 1.130-3 IPv6をサポートします。
  • nmapが提供するDebian安定版ではないため、ncat 7.70 + dfsg1-3はおそらく少し新しいバージョンであり、IPv6をサポートしています。

私はopenbsdに行きます。バージョンごとに微妙に異なる構文を使用できるため、注意してください。

ちなみに、socatはnetcatよりもはるかに優れた機能を備えた優れたツールです。試してみてください!


2
驚くばかり。socatツールを提案してくれてありがとう。どうやらより多くのオプションがあり、次のことが明らかになったsocat tcp6-listen:2222
バシュビン

2
@bashbinですが、構文はもう少し冗長です。それは次のようになりますsocat tcp6-listen:2222,reuseaddr -(おそらく、またはreuseportサーバー(socatに関するコマンドは)最初の切断時に2回連続で、それを使用したい場合は代わりに)。
AB

4

ipv4とipv6の機能は、実際には、複数の実装(フォーク)または完全に異なるバージョンがあることをめぐる混乱の結果だと思います。検索すると、の言及に出くわしますnc6。この実装は、BSDベースのディストリビューションにあるようです。

nc6特定のディストリビューションにインストールしてnc、ipv6サポートの代わりに実行してみます。

さらなる研究

私は2018-01-11の日付のこのコミットを見つけることができました- 明らかに新しいものと呼んでいるものにIPv6機能を追加しているIPv6パッチ追加しますバージョンのnetcat。

注:私のシステムではnc 7.50にしかアクセスできませんが、あなたが説明しているように、-4との両方をサポートしてい-6ます。

netcatの新しいバージョンは、実際にはずっと古いバージョンであると思われます:http : //nc110.sourceforge.net/

さまざまな実装の完全なリストが必要な場合は、WikicatのNetcatに関する質問で入手できます。

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

ほとんどのLinuxディストリビューションでは、GNU netcatまたはNMAPバージョンがほとんどが使用しているように見えます。

POSIXシステムには、GNU netcat [5]OpenBSD netcatのようなゼロからの書き直しなど、いくつかの実装があり、6は後者がIPv6とTLSをサポートしています。OpenBSDバージョンは、FreeBSDベース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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.