Linux:INETリスニングソケットバインディングのより細かい粒の制御?
質問
インターフェイスがあります lo
, eth0
, 、 と eth0:1
.
progA
リスニングソケットを作成し、ポートにバインドします p
の上 INADDR_ANY
.
同時に、使いたいです ncat
ポートフォワード、同じポートで聴きます p
, 、しかし、に関連付けられているIPアドレス上のみ eth0:1
. 。予想通り、 ncat
「すでに使用中のアドレス」で失敗しています。
私ができることを望んでいることは次のとおりです。 progA
インターフェイスに関連付けられているアドレスにリッスンソケットをバインドします lo
と eth0
, 、しかし、関連するアドレスにはありません eth0:1
, 、そのアドレスを開いたままにします ncat
にバインドする。
代替手段はありますか INADDR_ANY
これにより、複数のインターフェイスおよび/または複数のIPアドレスにバインディングできますか?
解決
異なるソケットを使用して、個々のインターフェイスのそれぞれに個別にバインドする必要があります。または、使用してプログラムを作成することもできます libpcap ETH0:1でパケットをキャプチャして転送します。パケットキャプチャにより、実際に結合することなくインターフェイスを観察できます。
所属していません StackOverflow