GNU/Linux >> Linux の 問題 >  >> Linux

Netcat が UDP トラフィックのリッスンを停止する

したがって、netcat と呼ばれるものは複数あります。 ubuntu には /etc/alternatives symbolic-link-hackery もあります。

あなたの問題の一部は、UDP がセッションを行わないことだと思います。以下のファイル /usr/share/doc/netcat-traditional/README.gz の一部をコピーしましたが、これはかなりうまく説明しています。

<ブロック引用>

-u を指定すると、TCP ではなく UDP 接続が開かれます。 netcat は、ほとんどのカーネルがサポートする「接続された UDPsocket」メカニズムを内部的に使用しますが、UDP はコネクションレス プロトコルであるため、これらは本質的に「接続」ではありません。 netcat は発信 UDP 接続がすぐに「開いている」と主張しますが、標準入力から何かが読み取られるまでデータは送信されません。ほとんどの UDP プロトコルは、タイムアウトと再試行を使用して処理を行いますが、多くの場合、まったく応答しません。そのため、タイムアウトを指定して、最善を尽くす必要があります。さまざまな種類のサーバー リクエストに似たデータ ソースから標準入力が供給されると、UDP 接続をさらに活用できます。

わかりましたので、それはそれほど素晴らしい説明ではないかもしれませんが、私が見つけたものです.

まだ試していない場合は、待機に関係する可能性のある netcat オプションを試してみることをお勧めします...試したことはありますか:

  • -l と -u を使用して、「リスニング」モードであることを確認します

  • -vv 何が起こっているかを正確に確認する

  • -q -1 ...EOF を受信した後でも「永遠に待機」する必要があります (うまくいけば、もう一度リッスンしますか?)


socat を使用できます そのために。非常に優れたオプション fork があります :

<ブロック引用>

fork 接続を確立した後、子プロセスでそのチャネルを処理し、親プロセスがリッスンするか、ループで接続することにより、さらに接続を作成しようとします (例)。

クライアント (はい、クライアントから実行します):

$ ssh -L 7753:localhost:7753 YourServer.com "/usr/bin/socat tcp4-listen:7753,reuseaddr,fork UDP:8.8.8.8:53"

クライアント:

$ sudo socat udp4-listen:53,reuseaddr,fork tcp:localhost:7753
$ dig @127.0.0.1 google.com

Linux
  1. Bluetooth Low Energy:Linux での通知/指示のリッスン

  2. netcat - Debian で接続をリッスンし続ける

  3. cd - cp または mv に相当するものはありますか?

  1. 特定のネットワーク名前空間に対してのみ、OpenVPN を介してすべてのトラフィックをフィードします

  2. リッスン用にポート 8080 を開きます

  3. ネストされた for ループ

  1. Linuxシステム管理者向けのWebアプリケーションファイアウォールの概要

  2. Linux で UDP トラフィックを生成しているプロセスを特定するにはどうすればよいですか?

  3. リッスン モードで Netcat が起動しない