Does anyone know if it is possible to reliably determine (programattically C/C++…) whether or not a firewall or IP filtering software is installed on a Windows PC? I need to detect whether a certain server IP is being blocked in my client software by the host OS.
I don’t need to worry about external hardware firewals in this situation as I have full control of this. It is only software firewalls that I am concerned with. My hope was that I could iterate the windows network stack or NDIS interfaces and determine this
After reading some of your comments in reply to other answers, I think this might actually be closer to what you’re looking for. It might not catch every type of firewall but any major firewall vendor should be registered with the Security Center and therefore detected with this method. You could also combine this with some of the other answers here to give yourself a second level of verification.
Detecting running firewalls in windows
It’s an Expert’s Exchange post so you may not be able to read the thread. Just in case, I’ve copied and pasted the relevant info. It’s in VBScript but it should point you in the right direction as far as what WMI namespaces you can use.