Jos*_*tte 3 networking linux tcp netcat
我有一个连接到 LAN 的 Raspberry Pi (Debian Linux),它可以从某些连接的设备读取数据并将其输出到 STDOUT。
假设该程序在“服务器”上运行,我想将脚本的输出提供/usr/bin/data给端口 1234。
我希望任何客户端通过连接到该端口来提取该脚本的输出,使用类似
nc Server 1234 > ServerData.txt
我希望服务器保持活动状态,为每个连接运行脚本,提供数据,然后关闭与客户端的连接。服务器需要保持活动状态并等待下一个连接。
在服务器上运行的 netcat 命令是什么?
小智 5
将需要 netcat 的更高级版本之一。您可以使用ncat或socat:
服务器端
当客户端连接时,执行可执行程序/usr/bin/data并将程序输出发送给客户端。
NCAT 方法:
$ ncat -l 1234 -c '/usr/bin/data' --keep-open
Run Code Online (Sandbox Code Playgroud)
SOCAT方法
$ socat -U TCP-LISTEN:5403,fork EXEC:'/usr/bin/data',stderr,pty,echo=0
Run Code Online (Sandbox Code Playgroud)
客户端:
连接到服务器,并接收服务器的输出。
NCAT 归档方法
$ ncat Server 1234 | tee ServerData.txt
Run Code Online (Sandbox Code Playgroud)
NC (netcat) 标准输出方法
$ </dev/null nc <Server.ip> 5403 > /dev/stdout
Run Code Online (Sandbox Code Playgroud)
要保存到文件,请将 /dev/stdout 替换为文件名
WGET 方法到文件
$ wget -q <Server.ip>:5403 -O myfile.txt
Run Code Online (Sandbox Code Playgroud)
要打印结果,请将 myfile.txt 替换为 /dev/stdout
| 归档时间: |
|
| 查看次数: |
14299 次 |
| 最近记录: |