socat(SOCket CAT:netcat on steroids)是兩個獨立資料通道之間雙向資料傳輸的中繼。每個資料通道都可以是檔案、管道、裝置(串列線等或偽終端)、套接字(UNIX、IP4、IP6 - 原始、UDP、TCP)、SSL 套接字、代理 CONNECT 連線、檔案描述符(stdin 等)、GNU 行編輯器(readline)、程式或其中兩者的組合。這些模式包括產生「監聽」套接字、命名管道和偽終端。
使用 socat 的一些範例是:
TCP 中繼(一次性或守護程式)
外置襪機
Unix 套接字的 Shell 介面
IPv6中繼
Netcat 和 rinetd 替換
將面向 TCP 的程式重定向到串行線路
建立一個相對安全的環境(su 和 chroot),用於在網路連線內執行客戶端或伺服器 shell 腳本。
http://www.dest-unreach.org/socat/doc/socat.html#範例
socat 1.8.0.1-x86_64 適用於 Windows 7、8.1、10 和 11 及伺服器 [2024-08-24]
該程式適合想要從原始檔案進行編譯的人。
否則,對於其他文件,有一個現成的文件'socat-1.8.0.1.7z' 。您可以透過造訪 socat-1.8.0.1.7z 並使用鍵盤快速鍵 (Ctrl + Shift + s) 進行下載。
首先,如果尚未完成,請下載並安裝 Cygwin(最新版本):https://www.cygwin.com/setup-x86_64.exe
– gcc-g++
– gcc 核心
– cygwin32-gcc-g++
– cygwin32-gcc-核心
- 製作
– gcc-fortran
– gcc-objc
– gcc-objc++
– libkrb5-devel
– libkrb5_3
– libreadline-devel
– libssl-開發
– libwrap-開發
– tcp_wrappers
為此,讓我們嘗試回答以下問題:如何在 Cygwin 上安裝軟體包?下載 Cygwin 安裝程式並執行 setup.exe。預設點擊下一步,選擇鏡像下載包。搜尋每個包,打開相應的類別(例如 Net 或 PHP 或其他),然後單擊每個包旁邊的“跳過”以選擇它進行安裝。
請不要忘記從 http://www.dest-unreach.org/socat/ 下載 socat 原始碼
透過(Windows + R,'mintty')運行Cygwin並執行以下命令:
cd / && cd cygdrive/c/Users//Desktop [或 cd / && cd %USERPROFILE%/Desktop 如果您使用 (Windows + R, 'cmd')] wget http://www.dest-unreach.org/socat/download/socat-1.8.0.1.tar.gz tar -xvzf socat-1.8.0.1.tar.gzcd socat-1.8.0.1 ./配置 製作 進行安裝
編譯後,將「socat-1.8.0.1」目錄複製到%ProgramFiles%或其他位置。您必須完全複製該目錄,而不僅僅是“socat.exe”,否則它將無法運作。
注意:使用(Windows + R、「sysdm.cpl」、進階系統設定)從環境變數新增 socat 的路徑。關閉“mintty”並重新打開它。
注意(來自 'mintty' [cygwin] 驗證版本號):
$ socat -V socat,作者:Gerhard Rieger 和貢獻者 - 請參閱 www.dest-unreach.org socat 版本 1.8.0.1 於 2024 年 8 月 24 日 21:18:20 在 CYGWIN_NT-10.0-26100 版本 2024-04-03 17:25 UTC、版本 3.5.3-1.x86_64、機器 x86_64 上運行 功能: #defineWITH_HELP 1 #defineWITH_STATS 1 #defineWITH_STDIO 1 #defineWITH_FDNUM 1 #defineWITH_FILE 1 #defineWITH_CREAT 1 #defineWITH_GOPEN 1 #defineTH_TERMIOS 1 #defineWI. TH_ABSTRACT_UNIXSOCKET#用_ip4 1##with_ip6 1 #define with_rawip 1 #define with_genericsocket 1 #undef with_interface with_interface #define with_tcp 1 #define with_udp 1 #undef with_sctp with_sctp #undef #undef with_undef with_undef with_dcppTH SOCKS4A 1 #definedefTH_SOC5 1 TH_SYSTEM 1 #defineWITH_SHELL 1 #defineWITH_EXEC 1 # defineWITH_READLINE 1 #undefWITH_TUN #defineWITH_PTY 1 #defineWITH_OPENSSL 1 #undefWITH_FIPS #defineWITH_LIBWRAP 1 #define WITH_SYCLS 1 #定義WIdefTH_FILAN 1 #定義 WIDDLDMDM反對反對*DEVG. DEFAULT_IPV 4
來自 Mugane 的評論:
可能還想補充一點,如果使用 cyg-get ,最好使用 Powershell (作為管理員)為 cygwin 安裝這些軟體包:
cyg-get gcc-g++ gcc-core 使 gcc-fortran gcc-objc gcc-objc++ libkrb5-devel libkrb5_3 libreadline-devel libssl-devel libwrap-devel tcp_wrappers
如果您不使用 powershell,並嘗試從 cygwin 本身安裝(即使是管理員),您可能會遇到難以理解的缺少 dll 錯誤,並最終需要刪除/重新安裝 cygwin 本身來修正問題。
如果使用者沒有 cygwin,我推薦 Chocolatey(同樣來自 Powershell 作為管理員):
choco install -y cygwin cyg-get