How can I get the exact URLs/requests that a program is trying to connect to?

I currently use Little Snitch to control network traffic on my Macbook Pro, and see what my apps are connecting to.

Unfortunately, Little Snitch only shows you the hostname that an app is connecting to. Is there a tool which will show you the full URL of the requests that apps are making? Even better if you can view the headers.


The most full featured way to peek into web traffic is to install and configure your system to use a web proxy.

The mitmproxy proxy (and mitmdump tool) is mature, reliable and well documented so I would start there unless you have another that meets your specific needs.

Also, widely used, superbly documented and well regarded is Charles Proxy

Image from mitmproxy.org/images/mitmproxy.png


Sounds like you need a packet sniffer.

Wireshark will log and do full disassembly on all traffic going through your network interface.

enter image description here

In other words, it will not just show you the full URLs of each request, but it will let you look inside all the packets, so you can see the headers and content too (except in SSL connections, as they are encrypted).

It works on just about every platform out there, including Macs.


Whilst it won't give you the full URL, if you're a fan of the command line, then iftop also comes in quite handy and shows you both incoming and outgoing hosts, port numbers (names for well known ports) and cumulative totals for each - as well as live updating "graphs" on the command line :-)

enter image description here

enter image description here


I recommend ProxyMan. It's hands down the best client in this space IMO. The free tier is amazing for most non-pro users. They also have a mobile app. https://proxyman.io . I love this app!


HandsOff!

is very similar to Little Snitch. I've explained differences in an answer here.

The network monitor shows hostnames, but it will distinguish them if they have different IPs. Via right-click you can get the specific IP address - you don't get to see the full URL request. But the IP address is more specific anyway.

enter image description here

The developers are open to feature requests. You might see such a feature added in the future.