Proxy

用於記錄的 TCP 連接橋/代理

  • September 6, 2019

簡化的場景:

我有一個電話系統,它註銷埠 6543 上的每一個操作。我還有一個監聽器(現有應用程序),它連接到電話系統(一個 linux 機器)並處理來自該電話系統的所有數據(字節流) . 電話系統一次只能有一個連接。

我需要的:

一種連接到電話系統並將字節流轉儲到文件並讓偵聽器應用程序(我無法控制但可以配置 IP 和它將連接到的埠)連接到我的程序的方法,因此它可以作為如果它直接連接到電話系統。

我想做的事:

  1. 連接到電話系統並將數據轉儲到文件中(使用我希望您建議我的“實用程序”)。
  2. 允許偵聽器程序連接到“實用程序”,這樣它就可以像往常一樣繼續工作。

一定有一些聰明的東西我只是想/不知道這樣做?

我所說的“實用程序”可以是 bash 腳本、un*x 實用程序、一些聰明的 gnu 工具、任何現有的 github 項目等。

到目前為止,這是我發現的:

(netcat 可能是我正在尋找的東西!)

mkfifo phonesystem.fifo

腳本 :

#!/bin/bash
PHONE_IP=192.168.167.166
PHONE_PORT=6543
LISTENING_PORT=${PHONE_PORT}
CURRENT=$(date +%F#%T | sed -e 's/:/./g')

cat phonesystem.fifo | nc -l -p ${LISTENING_PORT} | tee ${CURRENT}.ApplicationListener.log | nc ${PHONE_IP} ${PHONE_PORT} | tee ${CURRENT}.PhoneSystem.log 1> phonesystem.fifo

然後,我將配置我的“偵聽器應用程序”以在埠連接到我的盒子 IP,6543而不是在埠將其連接到電話系統 IP 6543

想知道我是否可以多路復用輸出,以便我可以多次連接到我的盒子並獲取所有連接的流……

引用自:https://serverfault.com/questions/978136