ProMacTools

How to Monitor HTTP Requests From Any App on Mac (Not Just the Browser)

Updated · by the ProMacTools team

Option 1: a debugging proxy

Proxy tools sit between an app and the internet. After you install and trust their root certificate, they can decrypt and edit HTTPS. The trade-off: apps that ignore the system proxy or pin certificates are invisible or break, and you must remember to turn the proxy off.

Option 2: packet capture with NetScope

NetScope listens to the network interfaces instead, so it sees every app — including command-line tools, Electron apps and background services — with no proxy or certificate.

  • HTTP: method, URL, status, headers and body, with JSON pretty-printing and gzip/brotli decoding.
  • HTTPS: server name, TLS version, cipher, HTTP/2 or HTTP/1.1, size and timing.
  • DNS, QUIC/HTTP3, TCP and UDP: everything else, grouped into connections.

Filter like DevTools: host:api.example.com, status:4, method:POST, -proc:Safari. Right-click a request to copy it as cURL, or export a HAR file.

Which one should you use?

Use a proxy when you need to read or modify encrypted request bodies of an app you are developing. Use NetScope to see what all apps are doing, debug local HTTP services, check DNS and timing, or find which app talks to a server.

Frequently asked questions

Is there a Chrome DevTools Network tab for the whole Mac?

NetScope is designed as exactly that: a DevTools-style request list, filters, waterfall and detail panes, for traffic from every app on the Mac.

Can I see the body of HTTPS requests without a proxy?

No. HTTPS bodies are encrypted end to end, so only a proxy with a trusted certificate (or the app itself) can read them. Packet capture shows the server name, protocol, size and timing.

How do I debug requests from a command-line tool on Mac?

Run the tool while NetScope is open and filter by its process name, for example proc:curl or proc:node. Plain HTTP requests appear with full headers and bodies.