2つの味で提供されますnetcat
。netcat-openbsdそしてNetcat - 伝統的。
私が使っているnetcatの種類をどうやって知ることができますか?食べてみましたが、man nc
味がどうでしたかについての言葉はありませんでした。
答え1
まず、コンピュータに複数のバージョンをインストールできます。したがって、答えはインストールされているバージョンの数と入力するコマンドによって異なります。
netcat-traditional
また、Ubuntuのパッケージマネージャを介してnetcat-openbsd
インストールできます。私の場合は、apt
ソースコードビルドを通じてGNU netcat
フレーバーもインストールしました。この公式ウェブサイト。
"openbsd"バージョンの場合は、<package-name>を使用してロケーションバイナリ名を見つけることができます(パッケージマネージャではない場合は、対応するエントリをdpkg -L
直接検索してください)。dpkg L
apt
$ dpkg -L netcat-openbsd dpkg -L grep /bin | /ゴミ箱 /ゴミ箱/nc.openbsd
次に、type -a
バイナリ名がnc.openbsd
コマンド内で検索可能であり$PATH
、コマンドとして解釈されることを確認するために使用されます。
$ type -a nc.openbsd
nc.openbsd is /bin/nc.openbsd
nc.openbsd is /bin/nc.openbsd
「伝統的な」味の場合でも同じです。
$ dpkg -L netcat-traditional | grep /bin
/bin
/bin/nc.traditional
$ type -a nc.traditional
nc.traditional is /bin/nc.traditional
nc.traditional is /bin/nc.traditional
nc.openbsd
これは、ツールを実行するためのコマンドを実行でき、ツールを実行するためのnetcat-openbsd
コマンドを実行できることを意味します。 (コマンドに「.」が含まれていますが、パッケージ名には「-」が含まれているので混乱する可能性があります。)nc.traditional
netcat-traditional
インストールできる味は3つのようですapt
。
$ apt-cache search netcat --names-only
netcat-openbsd - TCP/IP swiss army knife
netcat - TCP/IP swiss army knife -- transitional package
netcat-traditional - TCP/IP swiss army knife
しかし、実際にはnetcat
仮想パッケージだけです。
$ apt-cache show netcat | grep Description-en -A 2
Description-en: TCP/IP swiss army knife -- transitional package
This is a "dummy" package that depends on lenny's default version of
netcat, to ease upgrades. It may be safely removed.
したがって、必要に応じて以下をインストールしてnetcat-openbsd
転送netcat-traditional
できます。apt
sudo apt-get install netcat-openbsd
sudo apt-get install netcat-traditional
nc
コマンドはどうですかnetcat
?検索可能な複数のスタイルにバインドすることができます。またはを入力すると、$PATH
いずれかのパスが実行されます。同様に、優先順位が最初の行の間を使用して確認できます(例:nc
netcat
type -a
勇敢な次のような):
$type-a nc nc は /usr/local/bin/nc です。 nc は /bin/nc です。 nc は /usr/local/bin/nc です。 nc は /bin/nc です。 $型-a netcat netcatは/usr/local/bin/netcatです。 netcatは/bin/netcatです。 netcatは/usr/local/bin/netcatです。 netcatは/bin/netcatです。
realpath
以下を使用して解決パスを見つけることができます。
$物理パス/usr/local/bin/netcat /usr/local/bin/netcat $物理パス/bin/netcat /bin/nc.openbsd $物理パス/usr/local/bin/nc /usr/local/bin/netcat $ 物理パス/bin/nc /bin/nc.openbsd
4つのパスのうち2つだけが私のシステムで一意です。 1つは「GNU」、もう1つは「openbsd」です。
$ /usr/local/bin/netcat --version | head -1
netcat (The GNU Netcat) 0.7.1
$ /bin/nc.openbsd -h |& head -1
OpenBSD netcat (Debian patchlevel 1.130-3)
つまり、nc
ORを入力すると「GNU Netcat」netcat
が実行されます/usr/local/bin/netcat
。
update-alternatives
確認されたシンボリックリンクパスを調整してみることができます。
$ realpath /bin/nc
/bin/nc.openbsd
$ realpath /bin/netcat
/bin/nc.openbsd
$ sudo update-alternatives --config nc
There are 2 choices for the alternative nc (providing /bin/nc).
Selection Path Priority Status
------------------------------------------------------------
0 /bin/nc.openbsd 50 auto mode
* 1 /bin/nc.openbsd 50 manual mode
2 /bin/nc.traditional 10 manual mode
Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /bin/nc.traditional to provide /bin/nc (nc) in manual mode
$ realpath /bin/nc
/bin/nc.traditional
$ realpath /bin/netcat
/bin/nc.traditional
/bin/nc
シンボリックリンクと確認済みシンボリックリンクの両方を変更します/bin/netcat
が、ORを入れて/bin/nc.traditional
も依然として優先順位が高いため、スタイルは変更されません。nc
netcat
/usr/local/bin/
/bin
$PATH
$ /bin/nc -h |& head -1
[v1.10-41]
$ nc -h |& head -1
GNU netcat 0.7.1, a rewrite of the famous networking tool.
$ type -a nc | head -1
nc is /usr/local/bin/nc
netcatにはより多くの種類があります。国立猫、ソカット、sbd、ネットキャット6、インターネット猫とクリプトキャット。
1更新された実際のシンボリックリンク/etc/alternatives/nc
はとです/etc/alternatives/netcat
。ここでは、すでに/bin/nc
およびそれぞれへのシンボリックリンク/bin/netcat
です。/etc/alternatives/nc
/etc/alternatives/netcat
答え2
私が実行すると、nc --version
次のようになります。
netcat (The GNU Netcat) 0.7.1
Copyright (C) 2002 - 2003 Giovanni Giacobbi
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of this program under the terms of
the GNU General Public License.
For more information about these matters, see the file named COPYING.
Original idea and design by Avian Research <[email protected]>,
Written by Giovanni Giacobbi <[email protected]>.
おそらくBSDのバージョンも具体的でしょう。
答え3
Macの場合(GNUバージョンが表示されますが):
$ nc -h
GNU netcat 0.7.1, a rewrite of the famous networking tool.
[ further output snipped ]
Linuxマシン(特にUbuntu)の場合:
$ nc -h
[v1.10-41]
[ further output snipped ]
netcat --version
他の回答で提案したように、「無効なオプション」エラーが発生する--version
ため-h
、一般的なテストのようです。