問題タブ [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.
linux - socat が stdin を盗まないようにする
socat次のように、telnet バナーをすばやく取得するために使用します。
バックグラウンドで実行中に、指定された IP アドレスのリストをループし、ポート 23 で(-) を使用しsocatてリンクし、1 秒後に切断する呼び出しごとに呼び出します。問題は、すべてのバックグラウンド プロセスが同じを使用するため、すべてがハングすることです。オプションを試してみましたが、 で抑制しましたが、結果はありませんでした。たとえば、が入力を無視するように指定されていない限り、同じように動作します。TCP socketstdinstdinreadlinestdin</dev/nullnetcat-d
私が指定したsocat行は、別の目的で使用されているスクリプトの一部であるため、問題がmasscan、nmapまたはnetcat. ありがとうございました。
windows - イーサネット経由で cygwin を使用して rapberry pi と Windows の間でデータを中継するように Socat をセットアップする方法
Windows デバイスに Cygwin 経由で SoCat をダウンロードし、Raspberry Pi にダウンロードしました。2 つのデバイス間でデータを中継するには、どのコマンドを使用すればよいですか。複雑なデータを中継したくはありません。今のところ、2 つのデバイス間でイーサネット経由で接続をセットアップできるようにしたいだけです。ありがとう。
macos - Mac OS と RN42 Bluetooth モジュール間のシリアル通信
Mac OS と RN42 Bluetooth モジュールからシリアル通信を確立する方法を知っている人はいますか?
RN42 を UART 3 を介して Arduino に接続しました。ここで、Mac に書き込まれたものを受け取ることを期待しています。Arduino でモジュールを起動し、コマンド モードを開始する「$$$」コマンドを送信し、モジュールのコマンドを使用して Mac の Bluetooth との接続を確立します。
RN42 と Mac を既にペアリングしましたが、一方に書き込んでもう一方に読み込むことができません。ファイル /dev/tty.Bluetooth-Incoming-Port または /dev/cu.Bluetooth-Incoming-Port で socat を使用してみましたが、ブルームーンで一度は機能します。
誰かが私を助けてくれることを願っています。
ありがとう!
c++ - UNIX ドメイン ソケット C++ サーバーがクライアントにデータを返せない
これが私が取り組んでいる単純なエコーサーバーです。サーバーはクライアントからの要求を受け入れ、クライアントが送信したものを返します。プログラムは で正常に動作しますがsocat、自分のクライアントを使用するとフリーズします。
私の古いコードの問題は、read代わりにread_some. read特定のバイト数を読み取るか、壊れたパイプ例外が発生するまでパイプをブロックしますがread_some、一度にチャンクを読み取ります。更新されたバージョンはread_some、入力ストリームを読み取り、プログラムが読み取った最後の文字が であるかどうかを確認するために\0使用し\0ます。これは、文字列リテラルのみを渡し、パイプにバイナリ データがないため機能します。
サーバーのコードは
socatたとえば、コマンドを使用してサーバーをテストする場合
目的の結果が返されます。
私のクライアントコードは
クライアントを実行すると、最初はどちらも出力がありません。クライアントを強制終了した後、サーバーは n バイトを読み取り、壊れたパイプ例外を取得することを出力します。
readこれはサーバーの機能が原因でしょうか? もしそうなら、各メッセージの最初にデータチャンクのサイズを送信せずに、どれだけのデータを読み取る必要があるかを知らせる方法はありますか? また、なぜsocatこのサーバーで問題なく動作できるのだろうかと思っています。ありがとう!
https - https の socat ポート転送
socat次のようにポート転送に使用できます。
この場合、これは完全に機能します。すべてのhttp-requestslocalhost:8080は にリダイレクトされ123.456.789.12:80ます。
httpsしかし、そのような転送を-requestsに使用するにはどうすればよいでしょうか?
更新:socat Firefox とリモート サーバーの間に単一のプロセスが必要です。socat単なるフォワーダ (プロキシ リダイレクタ) であり、それ以上のものではありません。このようなもの:
python - Pyserial が仮想ポートでうまく再生されない
動機
Python ライブラリPyserialの使用方法の学習を開始したいと思います。多くの人に利用されている本当に素晴らしいライブラリのようです。シリアル通信を自動化する必要がある今後のプロジェクトで使用したいと考えています。
環境
Ubuntu 15.04 を実行しています。Python 2.7 を使用しています。
仮想ポートの設定
現在、シリアル ポート経由で通信できるデバイスを持っていません。socatアプリケーションを使用して、9600 のボーレートで相互に接続された 2 つの仮想ポートを作成しています。
すごい!ポートが機能しているようです!
シンプルな pyserial スクリプト
pipを使用してpyserialをインストールします
次に、serialtest.py を少し書きました。
それはserialtest.py全体です
スクリプトを実行してエラーが発生する
どうしたの?
デバッグの失敗
この男は、python 2.6 を使用したときに成功したと言いました。Pyserial を 2.6 で動作させることができませんでした。
この男はボーレートに問題がありました。コマンド$stty -F /dev/pts/2でボーレートを再確認し、実際にはボーレートが 9600 であることを確認しました。
この男はまた、ボーレートに問題があると主張し、それが彼のカーネルにあると考えています。それは 2012 年にさかのぼるので、もう関係ないと思います。
私の質問
serialtest.py スクリプトをエラーなしで実行するにはどうすればよいですか?