繁体   English   中英

如何使用Netcat作为压缩代理

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM