2012-07-01 24 views
6

Tôi đang chạy lệnh sau đây trên Ubuntu:Tại sao đang lắng nghe trên cổng với Netcat không làm việc

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

trong đó bao gồm một lệnh để làm cho nó nghe tại 5004.

Tôi gửi một RTP-stream đến cổng 5004 bằng VLC. Khi tôi đang quan sát giao diện loopback trong Wireshark, tôi nhận thấy các gói ICMP với thông điệp 'Destination unreachable'.

Mở một VLC khác và yêu cầu nó phát dữ liệu đến tại cổng 5004, tất cả đều hoạt động và luồng được phát.

Tôi nên làm gì để nhận Netcat nghe ở cổng 5004?

Trả lời

11

Tôi nghĩ rằng bạn cần phải thêm "-u" tham số để làm cho nó nghe trên UDP.

Theo mặc định, netcat hoạt động ở chế độ TCP, nhưng giao thức RTP dựa trên UDP.

"The Transmission Control Protocol (TCP), mặc dù được chuẩn hóa cho RTP sử dụng, [5] không phải là thường được sử dụng trong ứng dụng RTP vì TCP ủng hộ độ tin cậy trên kịp thời. Thay vào đó, đa số các hiện thực RTP được xây dựng trên User Datagram Protocol (UDP)"

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

+0

Cảm ơn! Các công trình sau: nc -u -l -p 5004 -v >>/home/anders/Dropbox/netcatFiles/test –

+1

Tôi đã kiểm tra nhanh và Harald Brinkhof là chính xác. "-l -p 5004" không hoạt động. Tôi nghi ngờ bạn có một phiên bản cũ của netcat. Cái tôi có, hỗ trợ cú pháp -p 5004 của bạn, báo cáo phiên bản 1.10, trong khi trên một hộp khác tôi có một phiên bản trông mới hơn (nhiều tùy chọn hơn, v.v.) có cùng một trích dẫn trang Harald. – LSerni

6

không sử dụng -p (man nc (1))

-p source_port Chỉ định cổng nguồn nc nên sử dụng, hạn chế đặc quyền và tính sẵn sàng. Đó là lỗi khi sử dụng tùy chọn này trong giao diện con‐ với tùy chọn -l.

vì vậy chỉ cần chỉ định

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

Tuy nhiên, khi tôi đã làm lệnh trên nó đã không làm việc. Trạng thái: Cảnh báo: Tra cứu tên nghịch đảo không thành công cho '0.0.19.140' và khi tôi làm: nc -u -l -p 5004 -v >>/home/anders/Dropbox/netcatFiles/test hoạt động. Tôi nhận được trạng thái: Đã nhận gói từ 127.0.0.1:32843 -> 127.0.0.1 increas004 (địa phương) –

+0

tôi đã thử nghiệm với 'nc -l 5004 >> output.txt' cho trình nghe và trình kiểm tra' echo "| nc 127.0.0.1 5004' cho người gửi. Làm việc tốt mặc dù nó cần máy chủ cho người gửi. –

+0

Cảm ơn bạn đã trả lời và bình luận của bạn !! Dựa trên nhận xét mới nhất của Isernis và một số nghiên cứu tôi đã thực hiện sau khi nhận được: Hướng dẫn bạn liên kết và phiên bản nc của tôi dường như là phiên bản cũ của nc. Hướng dẫn đọc: nc -l -p port [-options] [tên máy chủ] [cổng] –

Các vấn đề liên quan