Proxy
用於記錄的 TCP 連接橋/代理
簡化的場景:
我有一個電話系統,它註銷埠 6543 上的每一個操作。我還有一個監聽器(現有應用程序),它連接到電話系統(一個 linux 機器)並處理來自該電話系統的所有數據(字節流) . 電話系統一次只能有一個連接。
我需要的:
一種連接到電話系統並將字節流轉儲到文件並讓偵聽器應用程序(我無法控制但可以配置 IP 和它將連接到的埠)連接到我的程序的方法,因此它可以作為如果它直接連接到電話系統。
我想做的事:
- 連接到電話系統並將數據轉儲到文件中(使用我希望您建議我的“實用程序”)。
- 允許偵聽器程序連接到“實用程序”,這樣它就可以像往常一樣繼續工作。
一定有一些聰明的東西我只是想/不知道這樣做?
我所說的“實用程序”可以是 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
而不是在埠將其連接到電話系統 IP6543
…想知道我是否可以多路復用輸出,以便我可以多次連接到我的盒子並獲取所有連接的流……