Help us understand the problem. What is going on with this article?

Linuxのpeekfdコマンドが面白い(全ファイル入出力を盗聴)

More than 3 years have passed since last update.

psmiscパッケージに入っているpeekfdコマンドを使うと、任意のプロセスの全ファイルディスクリプタへの読み書きを監視(内容を盗聴)することができる。

実行例:
あるシェルからこれを実行

$ echo $$; while true; do echo hoge; sleep 1;done
3457
hoge
hoge
hoge

このシェルのPIDは3457と分かったので、別のシェルからrootでpeekfdを実行する:

# peekfd 3457

writing fd 1:
hoge
hoge
hoge

echo hogeによる標準出力への書き込みを盗聴できている。
3457のシェルでwhileループを止めてキー入力すれば、キー入力も盗聴できる。

/proc/{PID}/fdの中を見ればfd何番がどのファイルか分かる。

aosho235
1981年生まれ。駅すぱあとの会社で新規サービスを開発しています。好きなものはOS~ミドルウェアのレイヤー、開発を楽にするためのツールやフレームワークの整備、自分自身が便利だと思うものを作ること。最新技術を追うことより、自分が自信を持って使える技術で効率的に開発することを好みます。
https://aosho235.com/
val
経路検索システム「駅すぱあと」をはじめ、全国のデータと高い信頼性をベースにさまざまなサービスを展開。
https://www.val.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away