問題タブ [socat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2422 参照

windows - パイプという名前のウィンドウと通信するためのプログラム

私はウィンドウの名前付きパイプに比較的慣れていません。

名前付きパイプを介して通信するには、Linuxのsocatに似たWindowsツールが必要です。Cygwinのsocatはパイプという名前のウィンドウにアクセスできますか?もしそうなら、どのように?

0 投票する
1 に答える
7496 参照

python - socat を使用した 1 つの仮想シリアル ポート

socatで仮想ポートを1つだけ作成する方法は?

1つのポートを介して読み書きするためにpyserialをテストしたい

私はすでに試しています:

2 つの仮想ポート /dev/pts/9 と /dev/pts/10 を作成します

私が試しているとき:

別のコンソールで、私は読み込もうとしています:

タイムアウト時、pyserial は '\n' を '^J' として読み取ります

0 投票する
3 に答える
12272 参照

virtual-serial-port - Socat 仮想シリアル ポートが認識されない

私は socat を使用して、いくつかの仮想シリアル ポートを作成しています。1 つは単純な C プログラム (termios を使用) で接続し、もう 1 つは Ardupilot Mega Planner (RC 用) というプログラムを使用して接続したいと考えています。ただし、Planner は仮想ポート (/dev/pts の下にリストされている) を認識せず、tty デバイスと /dev/serial デバイスのみを認識します。これを機能させるには、ある種の特別なマウントを行う必要がありますか? または、私が試すことができる回避策はありますか?既存のシリアルポート (ttyS0 など) を「リンク」しようとしましたが、そのようなもの (仮想ポートから実ポート、実ポートから実ポート) を試みると、「不適切な ioctl」エラーが発生します。何か案は?

編集: プログラム (Mission Planner) のソース コードを表示すると、すべての /dev/ttyS* デバイス、/dev/serial/by-id/* デバイスのみを「認識」(またはポートを追加) しているようです。デバイス、/dev/USB0、および /dev/ACM0。そのため、ソース コードを編集するか、ttyS* ポートを「検証」する方法を見つける必要があります。Mission Planner は、S1 または S0 以外の ttyS* デバイスには接続しないようです。何か案は?どういうわけか、それらが正しく構成されていないためだと感じています。

編集 2: ようやく ArdupilotMega Planner のソース コードを入手し、/dev/pts/ のデバイスが含まれるように変更しました。しかし、私はまだ同じ問題を抱えています。Planner がポートを開くと、何らかの問題が発生します。プログラムが接続できるようにするために、すぐに確認/変更する必要がある設定はありますか? 研究に行き、シリアルポート通信をより完全に理解しようとしています...

0 投票する
3 に答える
1816 参照

python - Python を使用して Unix Socket をランダムな TCP ソケットにパイプします。Socat の場合もあります。

TCPソケットをUnixソケットにパイプしたいので、このようにsocatを使用してこれを行うことができます

しかし、ここでの問題は、ポート番号を自分で指定したくないということです。OS に空いているポートを選択してもらいたいのですが、それでもポートを知ることができます。

私はこのスクリプトを書きましたが、それは機能しませんが、私がやりたいことを示しているかもしれません

私が得たエラーは次のとおりです。

2012/09/11 15:34:39 socat[26509] E read(0, 0x1e97a90, 8192): トランスポート エンドポイントが接続されていません

注#1: socat 以外のソリューションも受け入れます
注#2: このスクリプトは、Unix Socket でリッスンする Web サーバーと、生成された TCP ポートに接続する Web ブラウザーをパイプする必要があります。

前もって感謝します

0 投票する
3 に答える
20404 参照

linux - SOCATを使用してポートで受信したメッセージを記録する

1秒あたり50〜1000件のメッセージを受信するポートが開いているサーバーがあります。メッセージとは、1行のテキストが送信されることを意味します。

基本的に、これらのメッセージを1時間(またはx分)ごとに処理されるファイルに記録する必要があります。

バックグラウンドで実行されるbashスクリプト(以下を参照)を作成しました。これは、socatプロセスを強制終了する場合を除いて機能します(ファイルを処理のために取得し、新しいファイルを開始できます)。 socatがダウンしているという一瞬の間にメッセージが失われていると確信しています。

次の方法はありますか?

  1. プロセスを強制終了せずに出力ファイルをローテーションするようにsocatを取得します
  2. または、SOCATがファイルに書き込んでいる間に、ファイルの内容を削除できますか。たとえば、最初の10000行を別のファイルにカットして、出力ファイルを管理可能なサイズのままにしますか?

よろしくお願いします

0 投票する
2 に答える
9023 参照

macos - socatを使用したMacのUSBシリアルポート

Prolific Serial to USBケーブルで接続されたハードウェアがあり、socatを使用してこれとTCPポートとの間でトラフィックを送受信する必要があります。これまでのところ、インストールされており、以下を使用してminicomで正常に動作します。

minicom -D /dev/tty.usbserial -b 9600

Socatは、以下を使用してTCPポートに対して一方向に機能します。

socat /dev/tty.usbserial,clocal=1,nonblock=1,cread=1,cs8,ixon=1,ixoff=1 TCP4:localhost:8080

どうすれば双方向で動作させることができますか?シリアル設定が正しくないことを示唆する文字の繰り返しや二重線がよく見られますか?

ありがとう!クリス

編集:いくつかのサンプルコード(実際には双方向では機能しません)。

0 投票する
1 に答える
1623 参照

perl - stdin での socat ブロッキング

AIX ホスト myscript.sh に次のような bash スクリプトがあります。

私が実行すると、すべてがうまくいきます:

テストスクリプトを使用して socat リスナーに接続すると、問題が発生します。

myscript.sh では、次の行でブロックされます。

テスト スクリプトでは、次の行でブロックされます。

この時点で、データは socat リスナーによって受信されています (tcpdump で確認)。

ただし、Ctrlsocatcタイムアウトの前にテスト スクリプトを追加すると、データはパイプを通過します (つまり、最終的に SSL サーバーに接続されます)。

私は何を間違っていますか?

更新: cat と EOF に関するヒントをありがとう。当分の間、私は次のように問題を回避しました:

それは醜く、0.2秒も無駄です。より良い解決策を見つけたいと思っています。しかし、それは今のところ仕事をしています。2>>/dev/null の部分は、AIX が (タイムアウト コマンドに関連する) 無効なカウンターについて不平を言うためです。

0 投票する
1 に答える
2958 参照

macos - OS X Mountain Lionの自作socat、sctp「プロトコルはサポートされていません」

私はSCTPプロトコルを含む趣味のプログラムに非常に熱心に取り組んでいます。基本を理解するために、自作を使用してsocatをインストールしようとしました。socatはさまざまなプロトコルをテストするためのnetcatのようなツールです。しかし、これまでのところOS XMountainLionでは成功していません。インストールとエラーのログは次のとおりです。

ご覧のhomebrewとおり、コンパイルが完了し、socat正常にインストールされました。SCTPが有効になっていることを確認するには

単純なSCTP接続を試すには

そしてそれは失敗しました。ホームページではOSXsocatのサポートを宣言していますが、sctpはそうではないようです。おそらく、sctpを使用している人が少なすぎるので、私はこのエラーをどこでもグーグルで検索しましたが、まだ有用なものを見つけることができませんでした。

Gentoo / Debianサーバーで同じことを試しましたが、どちらも正常に機能しました。OSXでは機能しません。OSXの世界はかなり新しいので、ヒントを教えてください。

0 投票する
1 に答える
1942 参照

ssl - 転送されたデータを socat を使用してスクリプトにフォークする方法は?

socatを使用して、クライアントとサーバーの間で転送されたデータを分析したいと考えています。次のコマンドを使用して、socatを中間者として設定できました。

転送されたデータを見ることはできますが、それをスクリプトに送信して、後で分析できるように処理したいと考えています。

転送された各データパケットをスクリプトに送信できるようにするための解決策を知っている人はいますか?

0 投票する
1 に答える
1216 参照

objective-c - Theos/Logos デバッグ ロギング

私はジェイルブレイクの微調整を作成し、デバッグするためにtheosをよく使用し%logます.watchUNIX-CONNECT:/var/run/lockdown/syslog.sock >watch

さて、このタイプのロギングを使用すると、syslog 自体に加えられたすべての更新が取得されます。これは、通常、表示する必要がない (表示したくない) 大量の情報です。ログに記録しているものに関連するものを確認したいだけです。

私の質問: socat を介してカスタム ログに接続する微調整をデバッグする方法はありますか? 自分の更新だけがログに記録されている場所は?