Google Chromeの閲覧履歴で時刻まで取得したい | TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
Chromeの標準的な履歴表示機能(Ctrl+H)では、閲覧した日付は確認できるものの、具体的な「時刻」までは表示されない。特定の操作が行われた正確なタイミングを特定する必要がある調査やフォレンジックの場面において、標準機能だけでは情報不足となる点が課題である。
// Approach
ユーザーデータディレクトリ内のSQLiteファイル「History」にアクセスし、`urls`テーブルの`last_visit_time`カラムからマイクロ秒単位のタイムスタンプを取得する。これをPythonの`datetime`モジュールを用い、1601年1月1日を起点とするWebKit形式から、適切なタイムゾーン(JST)へ変換する手法をとる。
// Result
Pythonの関数を介することで、マイクロ秒単位のタイムスタンプを正確な日時に変換することに成功した。これにより、ブラウザのUI上では隠蔽されている詳細なアクセス時刻の特定が可能となり、より精緻な履歴解析を実現している。
Senior Engineer Insight
> フォレンジックやローカル環境の調査において、極めて実用的な知見である。しかし、本記事の手法は手動のコピペに依存しており、スケーラビリティに欠ける。実戦投入するならば、`sqlite3`モジュールを用いて直接ファイルを読み込み、一括変換するスクリプトを構築すべきである。また、Chromeが起動中の場合、データベースファイルがロックされているため、ファイルを一時ディレクトリにコピーしてから解析を行うといった、運用上の堅牢性を考慮した実装が不可欠である。