
Unix ベースのシステム上に 2 つのプロセスがあり、それらが何らかのプロセス間通信を使用しているとします。それらをシミュレートまたはフックするために何を使用しているかを検出するにはどうすればよいでしょうか。たとえばpipes
、またはその他の IPC メソッドなどです。
PS 悪い目標のためではありません :)
PPS プログラムのコーディング、既存のツールの使用など、どのような解決策でも歓迎します。
答え1
これは IPC の方法に依存しますが、その方法はたくさんあります。ソケットが使用されている場合は、WireShark などの適切なツールを使用して通信を傍受/追跡できる可能性があります。
しかし、共有メモリ/ファイル経由の通信について考えてみましょう。1 つのプロセスがファイルに書き込み、別のプロセスが読み取り、その逆も同様です。このような IPC をどのように傍受しますか?
を見てみましょうこのWikiサイトUNIX / POSIX システムが提供する主なメソッドを確認します。