-
セッション情報の監査ログを確認する方法: データベース管理システム(DBMS)がセッション情報を監査ログに記録している場合、このログを調べることでストアドプロシージャの呼び出し元マシンを特定できます。具体的な手順はDBMSによって異なりますが、一般的なSQL文を使用してログをクエリすることで、呼び出し元のIPアドレスやホスト名を取得することができます。
例(Oracle DBの場合):
SELECT username, machine, program FROM dba_audit_session WHERE action_name = 'EXECUTE PROCEDURE' AND obj_name = 'YOUR_PROCEDURE_NAME';
-
ネットワークパケットキャプチャを使用する方法: ネットワーク上での通信をキャプチャし、ストアドプロシージャの呼び出し元マシンのIPアドレスを特定することができます。Wiresharkなどのネットワークパケットキャプチャツールを使用して、データベースサーバーとクライアント間の通信を監視することができます。
例:
- Wiresharkを使用して、データベースサーバーとクライアントの間の通信をキャプチャします。
- キャプチャデータをフィルタリングし、ストアドプロシージャの呼び出し要求を特定します。
- パケットのヘッダー情報から、呼び出し元マシンのIPアドレスを取得します。
例(MySQLの場合):
SELECT host, user, password
FROM mysql.user
WHERE user = 'YOUR_USERNAME';
これらの方法を使用することで、ストアドプロシージャを呼び出しているマシンの情報を特定できます。ただし、セキュリティ上の考慮事項やデータベース管理システムの機能によっては、これらの手法が制限される場合もあります。適切なアクセス権を持つユーザーとして作業を行い、セキュリティポリシーに準拠するように注意してください。