[英]How to use netcat as compressing proxy
我有一台服务器,该服务器以基于文本的协议接收消息。 服务器不发回任何东西。 这些消息占用了网络带宽很多,因为该协议不是二进制的,并且没有任何压缩。 要解决此问题,我想在客户端和服务器端运行压缩代理。 在客户端,代理应该通过TCP接收数据,将其压缩,然后发送到服务器端代理。 服务器端代理应接收数据,将其解压缩并发送到服务器应用程序。
客户端代码应如下所示:
cd /tmp
mknod backpipe p
nc localhost 7171 0<backpipe | gzip | nc server-ip 7272 | tee backpipe
在服务器端:
cd /tmp
mknod backpipe p
nc -l -p 7272 0<backpipe | gunzip | nc -l -p 7171 | tee backpipe
服务器应用程序在7171端口上工作,压缩代理使用7272端口传输数据。 但这出于某种原因对我不起作用。
你快到了。
客户端,侦听本地端口7171,转发到位于server-ip:7272的远程服务器:
mkfifo client_rely
nc -l 7171 < client_rely | gzip -c | nc server-ip 7272 > client_rely
服务器端,侦听端口7272,转发到端口7171上的真实服务器:
mkfifo server_rely
nc -l 7272 < server_rely | gzip -d -c | nc 7171 > server_rely
请注意,此示例使用macOS随附的nc
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.