Tôi đang sử dụng netcat làm phần phụ trợ để xẻng dữ liệu qua lại cho một chương trình tôi đang thực hiện. Tôi đã thử nghiệm chương trình của mình trên mạng cục bộ, và một khi nó hoạt động, tôi nghĩ rằng việc chuyển tiếp một cổng từ bộ định tuyến của tôi có thể làm cho chương trình của tôi hoạt động trên internet. Than ôi! Điều này có vẻ không phải là trường hợp.Làm cách nào để nhận được netcat chấp nhận các kết nối từ bên ngoài mạng LAN?
Nếu tôi bắt đầu netcat lắng nghe trên cổng 6666 với:
nc -vv -l -p 6666
,
sau đó đi đến 127.0.0.1:6666
trong một trình duyệt, như mong đợi tôi nhìn thấy một yêu cầu HTTP GET đi qua netcat (và trình duyệt của tôi ngồi chờ đợi trong vô ích). Tuy nhiên, nếu tôi truy cập my.external.ip.address:6666
, không có gì xảy ra và trình duyệt hiển thị 'không thể kết nối với my.external.ip.address:6666
'.
Tôi biết rằng cổng được chuyển tiếp chính xác, vì www.canyouseeme.org cho biết cổng 6666 đang mở (và khi netcat không nghe, đóng cửa).
Nếu tôi chạy netcat với -g my.adslmodem's.local.address
để đặt địa chỉ cổng, tôi nhận được cùng một hành vi. Tôi có sử dụng tùy chọn dòng lệnh này một cách chính xác không? Bất kỳ cái nhìn sâu sắc như những gì tôi đang làm sai?
Hah. Tôi hỏi một câu hỏi tương tự về SF và họ nghĩ rằng nó quá mới mẻ.Tôi không thể nói kết nối "kẹp tóc" là gì (và mọi người liên tục tham khảo "kẹp tóc NAT" và nói với tôi là RTFM) cho đến khi tôi đọc câu trả lời này – isomorphismes
Nó làm việc cho tôi quá.Tôi đã không sử dụng 0.0.0.0 Như bạn đã nói, chỉ có cổng trên máy mục tiêu Cảm ơn! –