LoginSignup
166
163

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-01-20

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何番がどのファイルか分かる。

166
163
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
166
163