iOSIntermediateNetwork

Network data usage (DataUsage.sqlite)

iOS DataUsage.sqlite: per-process Wi-Fi and cellular byte counters with first-seen and usage-entry Cocoa timestamps.

01Location

  • /private/var/wireless/Library/Databases/DataUsage.sqlite

02Questions it answers

  • Which apps or processes used network data?
  • How many bytes went over Wi-Fi versus cellular?
  • When was a process first and last recorded?

03Format and versions

FormatCore Data SQLite. ZPROCESS lists processes (ZBUNDLENAME, ZPROCNAME); ZLIVEUSAGE holds counters linked by ZHASPROCESS.
Applies toSome stores lack Wi-Fi columns; iLEAPP then reads only ZWWANIN/ZWWANOUT.

04Key fields

FieldWhat it tells you
ZPROCESS.ZBUNDLENAME / ZPROCNAMEBundle identifier and process name (iLEAPP shows the part before the first '/').
ZLIVEUSAGE.ZWIFIIN / ZWIFIOUTBytes received/sent over Wi-Fi.
ZLIVEUSAGE.ZWWANIN / ZWWANOUTBytes received/sent over cellular (WWAN).
ZLIVEUSAGE.ZKINDUndocumented kind value; iLEAPP excludes 257 and reports others as stored.

05Timestamps

FieldEncodingNote
ZPROCESS.ZFIRSTTIMESTAMPApple Cocoa time (seconds since 2001-01-01 UTC)First time the process was recorded.
ZPROCESS.ZTIMESTAMPApple Cocoa timeProcess record timestamp.
ZLIVEUSAGE.ZTIMESTAMPApple Cocoa timeUsage entry timestamp; counters are cumulative values, not single transfers.

Decode raw values with the Timestamp decoder and convert local wall-clock times with the Local time to UTC.

06Examination workflow

  1. Check which counter columns exist in ZLIVEUSAGE.
  2. Join ZLIVEUSAGE to ZPROCESS and convert all three timestamps.
  3. Compare first-seen times with app installation and usage artifacts.

07Interpretation pitfalls

  • Byte counters do not reveal content, destinations or individual sessions.
  • ZKIND semantics are not documented.

09Sources

  1. iLEAPP — scripts/artifacts/DataUsage.py Alexis Brignoni et al. (GitHub) · checked 2026-10-14
  2. CFAbsoluteTime Apple Developer Documentation · checked 2026-10-14