Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to configure Windows firewall with Advanced Security to log and tell me when programs are trying to make outbound requests. I previously tried installing ZoneAlarm, which worked wonders for me with this in Windows XP. But now, I'm unable to install ZoneAlarm on Windows 7.

Is it possible to somehow monitor a log or get notifications when a program tries to do that if I set all outbound connections to auto-block, so that I can then create a specific rule for the program and block it?

I've enabled all the logging options available through the properties windows of the Windows Firewall with Advanced Security Console. But I'm only seeing logs in the %systemroot%\system32\LogFiles\Firewall\pfirewall.log file, not in the Event Viewer, as the first answer suggested.

However, the logs that I can see only tell me the requests or response's destination IP and whether the connection was allowed or blocked. But it doesn't tell me what executable it comes from. I want to find out the file path of the executable that each blocked request comes from. So far, I haven't been able to.

share|improve this question
up vote 5 down vote accepted

You should be able to see this in Event Viewer. First you'll need to tweak the logging options in the Advanced Settings Console:

alt text

In the Event Viewer's left pane, expand to Applications and Services Log -> Microsoft -> Windows -> Windows Firewall with Advanced Security:

alt text

There, you can create a custom view and filter the log to only outbound connection attempts.

share|improve this answer
Thanks! What do I need to tweak in particular in the Advanced Settings console? Are you referring to the logging options under Properties? If so, what do I need to change? – Maxim Zaslavsky Jan 19 '10 at 6:07
You can tweak the logging options depending on your liking, but you'll have to first set rules for outbound connections or else there is nothing seen as abnormal and nothing will be logged. – John T Jan 19 '10 at 13:20
How do I filter the log? I blocked all outbound connections but nothing is appearing in any of the logs there except for changes to the firewall settings. What should I do? – Maxim Zaslavsky Jan 21 '10 at 2:40
I mentioned in my update of the original question that only destination IPs are listed. I'm looking for the file path of the executable that made the request. – Maxim Zaslavsky Jan 21 '10 at 4:59
After you click "create a custom view", what do you pick? It wants "By log" or "By source". None of these seem to be what I want. What do I pick? How do I point it to "%systemroot%\system32\LogFiles\Firewall\pfirewall.log"? – Curtis Yallop Nov 23 '15 at 20:43

In Windows 7 & 8 you need to first enable Auditing of failed connections.

Local Computer Policy > Computer Configuration > Windows Settings > Security Settings > Local Policies > Audit Policy > Audit object access : Failure

Now dropped connections along with the corresponding executable name should show at:

Event log > Windows Logs > Security:

  1. The Windows Filtering Platform has blocked a packet : [Event Id: 5152]
  2. The Windows Filtering Platform has blocked a connection : [Event Id: 5157]

Here, you will find:

Application Name: \device\harddiskvolume2\program files\xyz.exe

share|improve this answer

I was looking for same problem, and neither the Event Viewer (no events) nor the pfirewall.log option (no name of the violating program) helped me to identify what's going on.

Looking around I fond Windows Firewall Notifier, which even provides a GUI that shows the offending program and allows to generate exception rules (you need to thell WFN to create rules, not exceptions when calling it for the first time).

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .