QNXのドキュメントでは、シリアルデバイス()を使用して別の物理システム上のプロセス間でメッセージベースのIPCを設定できることがわかりましたdev/serX
。
LinuxでTCP / UDPトンネリング用のシステム全体の特別なデバイスを作成することは可能ですか? stdin/stdout のようなものはnc
/dev/something の下に公に公開されます。
最終的には、あるコンピュータでそのようなファイルに何かを書き、もう一方の端でそれを受け取ることを望みます。たとえば、次のようになります。
#machine1:
echo "Hello" > /dev/somedev
#machine2:
cat < /dev/somedev
私はmanを見ましたが、nc
stdio以外のioソース/ターゲットを指定するオプションが見つかりませんでした。
ベストアンサー1
socat
「ストリーム」のようなものを使用すると、この操作と他の多くのことを実行できます。
この基本的なアイデアを使用すると、次のことを行うことができます。
Machine1$ socat tcp-l:54321,reuseaddr,fork pty,link=/tmp/netchardev,waitslave
Machine2$ socat pty,link=/tmp/netchardev,waitslave tcp:machine1:54321
(で適応サンプルページ)
暗号化したい場合は、ssl-l:54321,reuseaddr,cert=server.pem,cafile=client.crt,fork
machine1でバリアントを使用でき、ssl:server-host:1443,cert=client.pem,cafile=server.crt
machine2ではこのようなものを使用できます。
(詳細はソカートSSL)