使用BusyBox版本的netcat来侦听TCP端口

我需要在Linuxembedded式框中监听一些任意的端口。 我select了6660端口,因为无论如何它都是用于未encryption的连接,并且由于运行定制的Linux操作系统的Linux机器没有很多端口是打开的。 我发现netcat(命令行上的nc)将是最简单和最好的解决scheme,所以我不必为此目的开始编写一些C程序。

我设法掌握的命令和选项,我实现了最简单的方法来从另一台PC像这样在我的PC上听纯文本:

sven@sven:~$ nc 192.168.4.110 6660 sven@sven:~$ hello there! anotherUser@userg:~$ nc -l -p 6660 anotherUser@userg:~$ hello there! 

但情况是netcat工具正在与该Linux机箱上的busybox软件包一起提供。 我不知道如何听端口的语法(例如6660)。 我总是得到相同的对话框:

 ~ # 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 

此外,我已经尝试了许多其他方式来实现监听,但无法完成。 我想至less它会给我任何select? 也

 nc -h 

要么

 nc --help 

不要给任何“减”选项

但是,从Linuxembedded式的文本框发送到我的电脑的作品:

 ~ # nc 192.168.4.130 6660 fsdf tere ^C ~ # sven@sven:~$ nc -l -p 6660 fsdf tere 

Linuxembedded式框在同一本地networking内部具有完全function的networking连接,并具有现有的eth0和lo链接

 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!

这是busybox的nc实现的手册页 。

正确的语法是

 nc -l -p <port> 

问题是,我认为,您的busybox版本编译时没有数字侦听功能。 事实上,在NC_SERVER时有一个配置选项NC_SERVER ,需要启用该选项才能打开该功能。

你可以建立另一个nc ,也许从这个版本 ,并将二进制文件复制到您的嵌入式主机? 您可能需要构建交叉编译器环境。