- 現在との差分 を表示
- ソース を表示
- Safari/History へ行く。
1: 2020-05-26 (火) 00:51:22 nobuaki | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | *SQLite3でSafariの履歴を読み出す [#g551d7ae] | ||
+ | **はじめに [#v27f6c5b] | ||
+ | |||
+ | WebブラウザのSafariの履歴をCSVで取り出す.監査目的. | ||
+ | |||
+ | **フォルダへの移動 [#zb54240d] | ||
+ | |||
+ | Safariの履歴はSQLite3データベース形式で保存されており,各ユーザのLibraryディレクトリ配下に設置されている. | ||
+ | |||
+ | このディレクトリは,macOS X 10.15(Mojave)以降はコマンドで操作できないので,作業お葉ディレクトリにコピーした上で,実行する. | ||
+ | |||
+ | #ref(site://modules/xelfinder/index.php?page=view&file=7115&SafariHIstory1.png,center) | ||
+ | |||
+ | まずは,Finder上で,フォルダに移動する. | ||
+ | |||
+ | |||
+ | #ref(site://modules/xelfinder/index.php?page=view&file=7114&SafariHistory2.png,center) | ||
+ | チルダで監査対象ユーザのユーザディレクトリを指定する.(/Libraryではない点に注意) | ||
+ | |||
+ | |||
+ | #ref(site://modules/xelfinder/index.php?page=view&file=7113&SafariHistory3.png,center,mw:600,mh:600) | ||
+ | |||
+ | |||
+ | Finderでファイルをコピーする. | ||
+ | |||
+ | MBA2013:SafariHistory ujpadmin$ ls -la🆑 | ||
+ | total 12616 | ||
+ | drwxr-xr-x 6 ujpadmin staff 192 5 25 16:50 . | ||
+ | drwxr-xr-x 7 ujpadmin staff 224 5 25 16:54 .. | ||
+ | -rw-r--r--@ 1 ujpadmin staff 126976 5 25 13:29 History.db | ||
+ | -rw-r--r--@ 1 ujpadmin staff 0 4 16 12:31 History.db-lock | ||
+ | -rw-r--r--@ 1 ujpadmin staff 32768 5 25 13:29 History.db-shm | ||
+ | -rw-r--r--@ 1 ujpadmin staff 5524952 5 25 16:40 History.db-wal | ||
+ | MBA2013:SafariHistory ujpadmin$ | ||
+ | |||
+ | コピー完了. | ||
+ | |||
+ | **SQLite3に接続する [#y2719e91] | ||
+ | |||
+ | macOS XにはデフォルトでSQLite3が導入されいるので,これを開く. | ||
+ | |||
+ | |||
+ | MBA2013:SafariHistory ujpadmin$ sqlite3 History.db🆑 | ||
+ | SQLite version 3.24.0 2018-06-04 14:10:15 | ||
+ | Enter ".help" for usage hints. | ||
+ | sqlite> | ||
+ | |||
+ | 保管されているテーブルの一覧を確認する. | ||
+ | |||
+ | |||
+ | sqlite> .tables🆑 | ||
+ | history_client_versions history_items history_tombstones | ||
+ | history_event_listeners history_items_to_tags history_visits | ||
+ | history_events history_tags metadata | ||
+ | sqlite> | ||
+ | |||
+ | SQLite3のコマンドモニタの表示を行モードにする. | ||
+ | |||
+ | sqlite> .mode line🆑 | ||
+ | sqlite> | ||
+ | |||
+ | 今回利用するテールブの構造を確認する. | ||
+ | |||
+ | sqlite> select * from sqlite_master where name = 'history_items';🆑 | ||
+ | type = table | ||
+ | name = history_items | ||
+ | tbl_name = history_items | ||
+ | rootpage = 2 | ||
+ | sql = CREATE TABLE history_items (id INTEGER PRIMARY KEY AUTOINCREMENT, | ||
+ | url TEXT NOT NULL UNIQUE,domain_expansion TEXT NULL, | ||
+ | visit_count INTEGER NOT NULL,daily_visit_counts BLOB NOT NULL,weekly_visit_counts | ||
+ | BLOB NULL,autocomplete_triggers BLOB NULL,should_recompute_derived_visit_counts | ||
+ | INTEGER NOT NULL,visit_count_score INTEGER NOT NULL) | ||
+ | sqlite> | ||
+ | |||
+ | 2つめ. | ||
+ | |||
+ | sqlite> select * from sqlite_master where name = 'history_visits';🆑 | ||
+ | type = table | ||
+ | name = history_visits | ||
+ | tbl_name = history_visits | ||
+ | rootpage = 5 | ||
+ | sql = CREATE TABLE history_visits (id INTEGER PRIMARY KEY AUTOINCREMENT, | ||
+ | history_item INTEGER NOT NULL REFERENCES history_items(id) ON DELETE CASCADE, | ||
+ | visit_time REAL NOT NULL,title TEXT NULL,load_successful BOOLEAN NOT NULL DEFAULT 1, | ||
+ | http_non_get BOOLEAN NOT NULL DEFAULT 0,synthesized BOOLEAN NOT NULL DEFAULT 0, | ||
+ | redirect_source INTEGER NULL UNIQUE REFERENCES history_visits(id) ON DELETE CASCADE, | ||
+ | redirect_destination INTEGER NULL UNIQUE REFERENCES history_visits(id) ON DELETE CASCADE, | ||
+ | origin INTEGER NOT NULL DEFAULT 0,generation INTEGER NOT NULL DEFAULT 0, | ||
+ | attributes INTEGER NOT NULL DEFAULT 0,score INTEGER NOT NULL DEFAULT 0) | ||
+ | sqlite> | ||
+ | |||
+ | テーブルの定義は確認できた. | ||
+ | |||
+ | **Safariの履歴をCSV形式で書き出す [#y27435af] | ||
+ | |||
+ | 表示モードをCSV形式に設定する. | ||
+ | |||
+ | sqlite> .mode csv🆑 | ||
+ | sqlite> | ||
+ | |||
+ | CSVファイルに出力する. | ||
+ | |||
+ | sqlite> .output SafariHistory.csv🆑 | ||
+ | sqlite> | ||
+ | |||
+ | 一行目に項目のヘッダを書き出す. | ||
+ | |||
+ | sqlite> .headers on🆑 | ||
+ | sqlite> | ||
+ | |||
+ | |||
+ | |||
+ | sqlite> select datetime(v.visit_time + 978307200, 'unixepoch', 'localtime') as date, | ||
+ | i.domain_expansion, v.title, i.url from history_items i left join history_visits v on | ||
+ | i.id = v.history_item order by date desc;🆑 | ||
+ | sqlite> | ||
+ | |||
+ | |||
+ | |||
+ | sqlite> ^D | ||
+ | MBA2013:SafariHistory ujpadmin$ | ||
+ | |||
+ | MBA2013:SafariHistory ujpadmin$ ls -la SafariHistory.csv | ||
+ | -rw-r--r-- 1 ujpadmin staff 36552 5 25 16:59 SafariHistory.csv | ||
+ | MBA2013:SafariHistory ujpadmin$ |
- Safari/History のバックアップ一覧
- Safari/History のバックアップ差分(No. All)
- 1: 2020-05-26 (火) 00:51:22 nobuaki
- 現: 2020-05-26 (火) 00:59:50 nobuaki
Counter: 1854,
today: 1,
yesterday: 2