我在Ubuntu上运行以下命令:
nc -l -p 5004 -v >> /home/anders/Dropbox/netcatFiles/test
其中包含一个让它在5004收听的命令。
我正在使用VLC向端口5004发送RTP流。当我在Wireshark中观察loopback接口时,我注意到ICMP包带有“Destination unreachable”消息。
打开另一个VLC并告诉它在端口5004播放传入数据,一切正常,然后播放流。
为了让Netcat在5004端口收听,我该怎么办?
答案 0 :(得分:12)
我认为您需要添加“-u”参数以使其在UDP上侦听。
默认情况下,netcat在TCP模式下工作,但RTP协议是基于UDP的。
“传输控制协议(TCP),虽然已标准化 RTP使用,[5]通常不用于RTP应用程序,因为TCP有利 可靠性超过及时性。而不是大多数RTP 实现基于用户数据报协议(UDP)“
答案 1 :(得分:7)
不要使用-p(man nc (1))
-p source_port 指定nc应使用的源端口,具体取决于权限限制和可用性。在con中使用此选项是错误的 与-l选项结合。
所以只需指定
nc -l 5004 -v >> /home/anders/Dropbox/netcatFiles/test