表題の通り,実行中のプロセスのシステムコールのフックについて質問があります.
現在,Linux上の全てのプロセスがどんなシステムコールを使って,どんなリソースにアクセスをしているのか調査しているのですが
具体的には以下のURLのソフトと同じものを,Linux上でC言語を用いて作りたいと考えています.
[Process Monitor]
http://www.microsoft.com/technet/sysinternals/ut …
いろいろ調べていく中で strace
http://www.netadmintools.com/html/1strace.man.html
を使うと目的としている調査が実装できそうだということでさっそくいじってみたのですが,
strace では既に実行されているプロセスのシステムコールの呼び出しをトレースすることはできないようでした.
そこで1点質問なのですが,既に実行中のプロセスのシステムコールをフックするにはどのような方法を使えばいいのでしょうか.
お分かりになるかたご回答よろしくお願いします.
こちらの開発環境は以下です.
OS: Debian 4.0
Kernel: 2.6.20-16
gcc: 4.1.2
(3つとも11/9現在の最新版を使用しています)
No.1ベストアンサー
- 回答日時:
straceの-pオプションでプロセスIDを指定することにより、実行中のプロセスにstraceをアタッチすることができたと記憶しています。
この回答への補足
ありがとうございます、こちらの調査不足でした。
プログラムを組んで任意のプロセスにアタッチしようとしたところ
アタッチできるプロセスとそうでないプロセスがあることがわかりました。
例えばroot権限でinitにアタッチする場合は受け付けてもらえませんでした。
#strace -o aaa.txt -p 1
attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted
権限がないとのことなのですが、
どのようにすればアタッチできるか教えていただけないでしょうか。
No.2
- 回答日時:
ptraceではinitへのアタッチは出来ないようですよ。
下記URLの「エラー」の「EPERM」ところを参照。
http://www.linux.or.jp/JM/html/LDP_man-pages/man …
参考URL:http://www.linux.or.jp/JM/html/LDP_man-pages/man …
ありがとうございます。
デーモン系のプロセスにはどうやらアタッチできないみたいですね。
カーネルをいじる必要があるようです。
お答えいただいて助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- TOEFL・TOEIC・英語検定 2014年に購入した英文法書でTOIEC対策をしてもよいか? 1 2023/01/08 11:41
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(パソコン・スマホ・電化製品) LINUXPCに詳しい人に気楽に答えてほしい質問です。 2 2022/10/25 08:07
- テレビ テレビ壁寄せスタンドの転倒防止方法は? 1 2022/04/17 23:11
- 政治 農地解放から75年経過してますが、この時の実態調査資料は国民に開示されているのですか? 2 2022/10/29 20:59
- 歴史学 山上徹也、「山上家」の家系や先祖、一族の調査はしてますか? 4 2022/07/11 23:39
- 政治 私は文部科学省ヘ入り込んで投稿した私の建議文を彼らが私の依頼まましましょうか。? 2 2023/08/22 07:08
- ビデオカード・サウンドカード 1つのマザボでAMD&NVIDIAを同時使用できますか? 3 2022/04/22 14:36
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TOPコマンドで表示するCPU使用...
-
プロセス、サービス、デーモン...
-
Windowsで作れるスレッド最大数...
-
タスクバーの音量アイコンをク...
-
コマンドライン上でファイルを...
-
突然シャットダウンします
-
CPU使用率取得方法について
-
linuxでプロセスが動いているCP...
-
プロンプトが返らない
-
Windows 10のエクスプローラー...
-
【Process Explorer】について
-
タスクマネージャのプロセス名
-
マルチコアのCPUの動きをコント...
-
Linux ログファイルの読み方を...
-
CPU使用率が常に50~10...
-
タスクマネージャで終了できな...
-
System Idle Processってなに?...
-
batファイルからアプリケーショ...
-
mdbコマンドで引数の値を見たい
-
エクスプローラの再インストール
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TOPコマンドで表示するCPU使用...
-
プロセス、サービス、デーモン...
-
タスクバーの音量アイコンをク...
-
Windowsで作れるスレッド最大数...
-
コマンドライン上でファイルを...
-
タスクマネージャのCPU率がおか...
-
System Idle Processってなに?...
-
ps コマンドのステータス。S Ss...
-
プロセスがタスクマネージャー...
-
プロンプトが返らない
-
Windowsで同時にオープンできる...
-
CPU使用率が常に50~10...
-
タスクマネージャで終了できな...
-
linuxでプロセスが動いているCP...
-
CPU使用率とロードアベレージ
-
タスクマネージャに表示されな...
-
Powershell プロセス二重起動
-
ネットワーク使用率約75%維持状...
-
CPU使用率取得方法について
-
Windowsホストプロセス Rundll...
おすすめ情報