Linux 使用BusyBox版本的netcat侦听tcp端口
我需要监听Linux嵌入式设备中的任意端口。 我之所以选择端口6660,是因为它适用于未加密的连接,而且由于Linux机箱运行定制的Linux操作系统,所以打开的端口不多。 我发现netcat(命令行上的nc)将是最简单和最好的现成解决方案,因此我不必为此编写一些C程序 我设法掌握了命令和选项,并实现了从另一台PC上收听纯文本的最简单方法,如下所示:Linux 使用BusyBox版本的netcat侦听tcp端口,linux,listener,port,netcat,busybox,Linux,Listener,Port,Netcat,Busybox,我需要监听Linux嵌入式设备中的任意端口。 我之所以选择端口6660,是因为它适用于未加密的连接,而且由于Linux机箱运行定制的Linux操作系统,所以打开的端口不多。 我发现netcat(命令行上的nc)将是最简单和最好的现成解决方案,因此我不必为此编写一些C程序 我设法掌握了命令和选项,并实现了从另一台PC上收听纯文本的最简单方法,如下所示: sven@sven:~$ nc 192.168.4.110 6660 sven@sven:~$ hello there! anotherUser@
sven@sven:~$ nc 192.168.4.110 6660
sven@sven:~$ hello there!
anotherUser@userg:~$ nc -l -p 6660
anotherUser@userg:~$ hello there!
但实际情况是,netcat工具将随busybox软件包一起出现在Linux机器上。我不确定如何侦听端口的语法(例如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
我也尝试过很多其他的方法来实现听力,但都做不到。
我想至少它会给我任何选择?也
nc -h
或
不要给任何“负”选项
但是,将文本从Linux embedded box发送到我的PC是可行的:
~ # nc 192.168.4.130 6660
fsdf
tere
^C
~ #
sven@sven:~$ nc -l -p 6660
fsdf
tere
Linux embedded box在同一本地网络内具有全功能的网络连接,并具有现有的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
正确的语法是
nc -l -p <port>
nc-l-p
问题是,我认为,您的busybox版本编译时没有nc侦听功能。实际上,在构建时有一个配置选项,NC_SERVER
,需要启用该选项才能打开该功能
您能否构建另一个nc
(可能是从)并将二进制文件复制到嵌入式主机上?您可能需要构建一个交叉编译器环境
nc -l -p <port>