セカンダリIPアドレスの特定のポートでリッスンするようにnetcat(または他のストックLinuxユーティリティ)を構成するにはどうすればよいですか?


15

CentOS 5.9

テスト目的で、CentOSサーバーがセカンダリ仮想IP(eth0:0)でリッスンするようにします。私はよく知ってnc -l -p <port>いますが、プライマリでのみリッスンします。リスナーが使用する特定のIPを指定する方法はありますか?

そうでない場合、CentOS 5.9にこれを実行できる別の「ストック」ユーティリティはありますか?

回答:


24

私にとって、この非常にシンプルなソリューションは機能します:

nc -l 192.168.2.1 3000

そして(私のマニュアルページとテストによると)-p動作しません-l


これはまさにマニュアルページに書かれていることです。
マイケルハンプトン

@MichaelHamptonあなたの言っていることを正しく理解しているかどうかはわかりません。
ハウケレイジング

1
netcat-traditionalでできることだと思う-l -p
ユーザー

それはあなたが多くの賛成票を得るということです。:)
マイケルハンプトン

1
@MichaelHampton投票の練習ルールを理解するまで、まだかなり時間がかかると思います。私が賛成票を得るもの(そしてさらに悪いことに:賛成できないもの!)を見ると、泣くことができます。しかし、それは3000ポイント...(私はUnixの&Linux上で担当者の私の関心は、その後多くを落としたことに気づいた)希望の上にこの大きな問題の解決キックのように私に見える
Hauke Laging

4

完了のため:

nc -l -p port -s ip

動作するはずです。nc6バージョン1.0およびnetcat(The GNU Netcat)0.7.1で動作します。

Lagingのコマンドはnc6(debianで使用)では機能しません。


Ubuntuでリスニングインターフェイスを指定する唯一の方法ncです。
djule5

2
ncは、-sと-lの両方を一緒に使用できないと言います
-SunSparc

1
@SunSparcまだそれはサーバモードでローカルIPとローカルポートの両方を指定することが私のために行くための唯一の方法です-オプションの他の組み合わせは、ここでは機能しません(NC v1.10-38は、debian)
アントニーHatchkins

問題は、netcatのバージョンが異なると動作が異なる可能性があると思います。私のバージョン文字列を取得することはできませんが、少なくとも2つのパッケージnetcat-traditionalとnetcat-openbsdがあります。netcat -vvlp 4445 -s 172.17.0.1私を与え listening on [172.17.0.1] 4445 ...netcat -vvl 172.17.0.1 4445私を与える listening on [any] 36539 ...
relet
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.