2012-03-14 20 views
8

Tôi cần nghe một số cổng tùy ý bên trong hộp được nhúng Linux. Tôi đã chọn cổng 6660 vì nó có nghĩa là cho các kết nối chưa được mã hóa và vì hộp Linux chạy hệ điều hành Linux tùy chỉnh không có nhiều cổng mở. Tôi phát hiện ra rằng netcat (nc trên dòng lệnh) sẽ là giải pháp đơn giản nhất và sẵn sàng tốt nhất cho điều đó, vì vậy tôi không phải bắt đầu lập trình một số chương trình C cho mục đích đó.Sử dụng phiên bản BusyBox của netcat để nghe cổng tcp

tôi quản lý để nắm bắt các lệnh và các tùy chọn và tôi thực hiện theo cách đơn giản nhất để lắng nghe văn bản đơn giản trên máy tính của tôi từ máy tính khác như thế này:

[email protected]:~$ nc 192.168.4.110 6660 
[email protected]:~$ hello there! 
[email protected]:~$ nc -l -p 6660 
[email protected]:~$ hello there! 

Nhưng trường hợp là công cụ netcat đang đến với busybox gói trên hộp Linux đó. Và tôi không chắc chắn cú pháp sẽ làm thế nào để lắng nghe một cổng (ví dụ 6660). Tôi luôn nhận được cùng một hộp thoại:

~ # nc -l -p 6660 
BusyBox v1.17.1 (Debian 1:1.17.1-8) multi-call binary. 
Usage: nc [IPADDR PORT]  
Open a pipe to IP:PORT 

Ngoài ra tôi đã thử nhiều cách khác để thực hiện nghe nhưng không thể hoàn thành. Tôi cho rằng ít nhất nó sẽ cho tôi bất kỳ lựa chọn nào? cũng

nc -h 

hoặc

nc --help 

không đưa ra bất cứ "trừ" tùy chọn

Nhưng việc gửi văn bản từ hộp Linux nhúng để máy tính của tôi hoạt động:

~ # nc 192.168.4.130 6660 
fsdf 
tere 
^C 
~ # 
[email protected]:~$ nc -l -p 6660 
fsdf 
tere 

Linux nhúng hộp có kết nối mạng đầy đủ chức năng bên trong cùng một mạng cục bộ và có liên kết eth0 và lo hiện có

eth0  Link encap:Ethernet HWaddr D0:E3:47:00:03:5F 
      inet addr:192.168.4.179 Bcast:192.168.4.255 Mask:255.255.255.0 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
      RX packets:28046281 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:428464 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:1000 
      RX bytes:2458890234 (2.2 GiB) TX bytes:83021395 (79.1 MiB) 

lo  Link encap:Local Loopback 
      inet addr:127.0.0.1 Mask:255.0.0.0 
      UP LOOPBACK RUNNING MTU:16436 Metric:1 
      RX packets:2282 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:2282 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:0 
      RX bytes:444956 (434.5 KiB) TX bytes:444956 (434.5 KiB) 

Töövõite!

Trả lời

11

Here's the manual page for busybox's nc implementation.

Cú pháp đúng là

nc -l -p <port> 

Vấn đề là, tôi nghĩ rằng, đó là các phiên bản của busybox được biên dịch mà không cần khả năng nghe nc. Thật vậy, có một tùy chọn cấu hình tại thời điểm xây dựng, NC_SERVER, cần được bật để bật tính năng đó.

Bạn có thể tạo một số khác nc, có lẽ từ this version và sao chép nhị phân vào máy chủ lưu trữ được nhúng của bạn? Bạn có thể cần phải xây dựng một môi trường trình biên dịch chéo.

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