socat (SOcket CAT: netcat on steroids) は、2 つの独立したデータ チャネル間の双方向データ転送のためのリレーです。これらのデータ チャネルはそれぞれ、ファイル、パイプ、デバイス (シリアル ラインなど、または擬似端末)、ソケット (UNIX、IP4、IP6 - raw、UDP、TCP)、SSL ソケット、プロキシ CONNECT 接続、ファイルなどです。記述子 (stdin など)、GNU 行エディター (readline)、プログラム、またはこれら 2 つの組み合わせ。これらのモードには、「リスニング」ソケット、名前付きパイプ、および擬似端末の生成が含まれます。
socat の使用例の一部を以下に示します。
TCPリレー(ワンショットまたはデーモン)
外部靴下保護具
Unix ソケットへのシェル インターフェイス
IPv6リレー
Netcat と rinetd の置き換え
TCP 指向のプログラムをシリアル回線にリダイレクトする
ネットワーク接続内でクライアントまたはサーバーのシェル スクリプトを実行するための比較的安全な環境 (su および chroot) を確立します。
http://www.dest-unreach.org/socat/doc/socat.html#EXAMPLES
socat 1.8.0.1-x86_64 Windows 7、8.1、10 & 11 & サーバー用 [2024-08-24]
ソースファイルからコンパイルしたい方の手順です。
それ以外の場合は、既製のファイル'socat-1.8.0.1.7z'が 1 つあります。 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-core
- 作る
– gcc-fortran
– gcc-objc
– gcc-objc++
– libkrb5-devel
– libkrb5_3
– libreadline-devel
– libssl-devel
– libwrap-devel
– 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 [または (Windows + R、'cmd') を使用する場合は cd / && cd %USERPROFILE%/Desktop] 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 ./configure 作る インストールする
コンパイル後、 「socat-1.8.0.1」ディレクトリを %ProgramFiles% または他の場所にコピーします。 「socat.exe」だけでなくディレクトリ全体をコピーする必要があります。そうしないと機能しません。
注意 : (Windows + R、「sysdm.cpl」、詳細システム設定) を使用して、環境変数から socat のパスを追加します。 「mintty」を閉じて、再度開きます。
注 (バージョン番号を確認するための「mintty」[cygwin] から):
$ socat -V Gerhard Rieger および寄稿者による socat - 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 で実行中 機能: #define WITH_HELP 1 #define WITH_STATS 1 #define WITH_STDIO 1 #define WITH_FDNUM 1 #define WITH_CREAT 1 #define WITH_GOPEN 1 #define WITH_TERMIOS 1 #define WITH_PIPE 1 #define WITH_SOCKETPAIR 1 #define WITH_UNIX 1 #undef WITH_ABSTRACT_UNIXSOCKET # WITH_IP4 1 を定義します #WITH_IP6 を定義します 1 #WITH_RAWIP 1 を定義します #WITH_GENERICSOCKET 1 を定義します #undef WITH_INTERFACE #WITH_TCP 1 を定義します #WITH_UDP 1 #undef WITH_SCTP #undef WITH_DCCP #undef WITH_UDPLITE #define WITH_LISTEN 1 #undef WITH_POSIXMQ #define WITH_SOCKS4 1 #define WITH_SOCKS4A 1 #define WITH_SOCKS5 1 #undef WITH_VSOCK #undef WITH_NAMESPACES #define WITH_PROXY 1 #define WITH_SYSTEM 1 #define WITH_SHELL 1 #define WITH_EXEC 1 #define WITH_READLINE 1 #undef WITH_TUN #define WITH_PTY 1 #define WITH_OPENSSL 1 #undef WITH_FIPS #define WITH_LIBWRAP 1 #define WITH_SYCLS 1 #define WITH_FILAN 1 #define WITH_RETRY 1 #undef WITH_DEVTESTS #define WITH_MSGLEVEL 0 /*debug*/ #define WITH_DEFAULT_IPV 4
ムガネさんのコメントより:
cyg-get を使用する場合は、Powershell (管理者として) を使用して cygwin 用のこれらのパッケージをインストールするのが最善であることも付け加えておきたい場合があります。
cyg-get gcc-g++ gcc-core make 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 から)。
チョコインストール -y cygwin cyg-get