I am new to windows Firewall. I have seen this dialog and unable to relate the meaning of it.
The above dialog says that "Allow python to communicate on these networks:". It then gives two checkboxes, one for each Private network and one for Public network.
So, my questions are :- 1) What is the difference between Private network and public network ? Which network out of these, does internet belongs to ?
2) what is the meaning of allowing a program to communicate on given network ? Let's take it from both Client as well as Server perspective. A program(acting as client), when allowed through firewall on a given network(public/private), does it mean that it can establish socket connection with other computers within the same network ?
A program(acting as server), when allowed through firewall, does it mean that it can accept socket connections from other computers within the same network ?
3) How can I control a program to either listen for connections OR to establish connections ? By that I mean, How can I control that any python program(python.exe) must not be allowed to listen for connections ?
Thanks in advance.
After a lot of research and investigation, I found that inbound rules, are applicable, in scenarios, when a program want to open a server socket for listening connections from other nodes on the same network or from different network. Outbound connections are applicable in scenarios, when a program want to connect to other computer on the same network or on other network(as a client).