私は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/インタフェースから着信メッセージに応答することを意味します。