e.g. /dev/ttyS0
実際のシリアルポートを介してリモートデバイスと通信するアプリケーションを実行しています。正規化された名前の代わりに数値サフィックスをプログラムに渡して、背中を使用するように/dev/ttyS0
このアプリケーションを構成できます。/dev/ttyS1
私はこのシリアルポートを通過するトラフィックをスニッフィングするのと似たものを使用したいと思います
jpnevulator
。これにより、jpnevulator
監視するアプリケーションを接続する必要がある疑似端末が開きます。
アプリケーションが経由で透過的に接続されるように、ポート名を/dev/ttyS1
実際の擬似端末(たとえば)に再割り当てする方法はありますか?ファイルリンクでこれを達成できますか?/dev/pty/23
/dev/pty/23
/dev/ttyS1
ln
答え1
私があなたの場合は、バイナリを編集し、/dev/ttyS%d
同様の文字列を置き換えて/dev/ptyX%d
(代替文字列は元の文字列と同じ長さです)、疑似/dev/ptyX0
端末のスレーブ側のパスを指すシンボリックリンクを生成します。
やや厄介な他の解決策がたくさんあります。
a)システムがLinuxの場合は一時的にmount --bind /dev/pts/<pty used by the sniffer> /dev/ttyS2
(プログラムをシリアルラインに接続する2
)
b) 再度削除し/dev/ttyS2
て pty へのリンクと交換します。
c) qemu で実行し、vm のシリアルポートを pty にリダイレクトします。
d)いくつかの偽のパス/ファイルシステムソリューションが使用されているLD_PRELOAD
e) 名前空間、Unionfs、chroots など