簡體   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