netcatを使用して特定のEthernetインターフェイスに接続する方法

netcatを使用して特定のEthernetインターフェイスに接続する方法

私はnetcatを使って、私が持っているカスタムボードにいくつかのデータを反映したいと思います。ボードは接続に10Gイーサネット接続を使用します。リンクが開いていることがわかりますが、netcatを使用しようとすると何の応答もありません。私はこれがLinuxが別のイーサネットポートに要求を送信するためだと思います。誰かが私が使用したいインターフェイスを指定する方法を教えてもらえますか?

ベストアンサー1

Netcat は、ポートでリッスンするすべてのデーモンに接続できます。デーモンが応答しない可能性があります。これは、接続のサーバー側がリッスンするアプリケーションによって異なります。

たとえば、サーバー側で使用するとnc -l応答がありません。クライアントの netcat は、データをサーバーの受信 netcat に送信します。その転送をファイルにリダイレクトして、送信されたデータが受信されたことを確認できます。

または、クライアントがそれを使用して接続があるかどうかを確認するtelnet <host> <port>こともできます。

デフォルトでは、Telnet は成功した各接続の前に以下を追加します。

Trying 10.0.9.150...
Connected to 10.0.9.150.
Escape character is '^]'.

あなたの質問への直接的な答えは、ncのクライアント側インターフェースを指定していないことです。

ホストとポートを提供します。

構文は次のとおりです。

nc host portオン(mac/darwin unix)

サーバー側では、インターフェースはIPにマップされます。 DHCPが存在し構成されている場合、これは自動的に行われます。または静的に設定することもできます。

IPを識別したら、ip addr以下の説明に従ってncを使用して受信できます。https://serverfault.com/questions/512333/how-can-i-configure-netcat-or-some-other-stock-linux-utility-to-listen-on-a-sp#512337

ただし、netcatクライアントはポートでリッスンしている他のほとんどのアプリケーションと通信できます。そのサービスを特定のIPに接続する方法については、接続するサービスの特定のドキュメントを参照してください。ほとんどの場合(すべてではありませんが)IPを指定しない場合。デーモンは、開始されたすべてのインターフェイスのすべてのポートをリッスンします。

以下で見ることができます:

netstat -nlpt

0.0.0.0 は、サービスが指定されたポートのすべての IP/インタフェースから着信メッセージに応答することを意味します。

おすすめ記事