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