7

Ubuntu で次のコマンドを実行しています。

nc -l -p 5004 -v  >> /home/anders/Dropbox/netcatFiles/test

これには、5004 でリッスンするコマンドが含まれています。

VLC を使用してポート 5004 に RTP ストリームを送信しています。Wireshark でループバック インターフェイスを観察しているときに、「Destination unreachable」というメッセージを含む ICMP パケットに気付きました。

別の VLC を開いて、受信データをポート 5004 で再生するように指示すると、すべてが機能し、ストリームが再生されます。

Netcat がポート 5004 でリッスンするようにするにはどうすればよいですか?

4

2 に答える 2

13

UDPでリッスンするには、「-u」パラメーターを追加する必要があると思います。

デフォルトでは、netcatはTCPモードで動作しますが、RTPプロトコルはUDPベースです。

「伝送制御プロトコル(TCP)は、RTPでの使用が標準化されていますが、TCPは適時性よりも信頼性を優先するため、通常はRTPアプリケーションでは使用されません。代わりにRTP実装の大部分はユーザーデータグラムプロトコル(UDP)に基づいて構築されています。」

http://en.wikipedia.org/wiki/Real-time_Transport_Protocol

于 2012-07-01T22:47:28.043 に答える
7

-pを使用しないでください(man nc(1)

-p source_port特権の制限と可用性に応じて、ncが使用するソースポートを指定します。このオプションを-lオプションと組み合わせて使用​​するとエラーになります。

だから指定するだけ

nc -l 5004 -v  >> /home/anders/Dropbox/netcatFiles/test
于 2012-07-01T22:47:24.157 に答える