How can I monitor all the outgoing HTTP requests from my PC?

I'm running Windows Vista home premium. I want to see all outgoing HTTP requests from my PC along with the URL. Is there any free tool for this?


Solution 1:

You can use http://www.wireshark.org/

The user guide can be found at http://www.wireshark.org/docs/wsug_html/

To filter http traffic specifically you can refer to; https://serverfault.com/questions/96272/how-to-filter-http-traffic-in-wireshark

Solution 2:

Fiddler is specialized in HTTP(S) packet monitoring, manipluation and generation, so it provides such features as requested in the question in an easier way. However, Wireshark is much more comprehensive in terms of network protocol monitoring and analysis.

Solution 3:

You could use the command prompt by typing the command netstat /f. This will show you a list of the connections to your local interface. The /f tells the command to resolve the external ip addresses as well.

Solution 4:

There is a detailed article on this topic at Hubpages. It describes a solution to easily log and filter HTTP requests made in a home LAN based on Wireshark and some supplemental free software.

In a nutshell, the article deals with the problem of memory overgrowth that prevents using Wireshark for continuous HTTP requests monitoring. To address the issue, the author suggests using tshark.exe (the commandline version of Wireshark) periodically killing and restarting it with System Scheduler and a batch file like this:

    FOR /F "usebackq tokens=2" %%i IN (`tasklist ^| findstr /r /b "tshark.exe"`) DO start /MIN sendsignal.exe %%i
    ping 127.0.0.1 -n 7 -w 1000
    tshark -2 -l -t ad -R "http.request.method == GET" -N nC -i 2 | ts_rdln.exe

where sendsignal.exe is a utility to send Ctrl+C to a program; ts_rdln.exe is a simple tshark log parser/filterer; ping command is used to introduce a delay; and the i argument of the last line is the number of your NIC looking out into the Internet.