我在Ubuntu上运行以下命令:
nc -l -p 5004 -v >> /home/anders/Dropbox/netcatFiles/test
Run Code Online (Sandbox Code Playgroud)
其中包括一个让它在5004听的命令.
我正在使用VLC向端口5004发送RTP流.当我在Wireshark中观察loopback接口时,我注意到ICMP包带有"Destination unreachable"消息.
打开另一个VLC并告诉它在端口5004播放传入数据,一切正常,然后播放流.
我该怎么办才能让Netcat在5004端口收听?
LSe*_*rni 12
我认为您需要添加"-u"参数以使其在UDP上侦听.
默认情况下,netcat在TCP模式下工作,但RTP协议是基于UDP的.
"传输控制协议(TCP)虽然是标准化的RTP使用,但[5]通常不用于RTP应用,因为TCP有利于可靠性而非时效性.相反,大多数RTP实现都建立在用户数据报协议(UDP)上"
http://en.wikipedia.org/wiki/Real-time_Transport_Protocol
不要使用-p(man nc(1))
-p source_port指定nc应使用的源端口,受特权限制和可用性的限制.将此选项与-l选项结合使用是错误的.
所以只需指定
nc -l 5004 -v >> /home/anders/Dropbox/netcatFiles/test
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40962 次 |
| 最近记录: |