Is there any way to find out what programs are trying to connect to Internet on windows?
Solution 1:
You can use the command prompt and run netstat. Just open the command line, and type
netstat -ban
It will display every connection with the associated process.
You may also use a program called tcpview. Just run the executable and it will show you all of the current connections being made by your system.
You will need to be an administrator in order to see all of the connections being made but if you are infected with something serious or a rootkit, the connections may also be hidden. If you really wanted a fool proof way, you would need to setup a gateway or proxy of some sort for the machine.
Solution 2:
Wireshark - http://www.wireshark.org/ - if you want a bit deeper look at everything going out over the network. It gets pretty in depth, but I've found little that matches it.
Solution 3:
If you install a firewall that monitors outgoing network traffic - like Comodo it will pop up an alert when a program tries to make a connection.
At that point you can either allow it just that once, allow the application to connect any time or block the application.
The Windows-7 firewall has this functionality built in, but the Windows XP one doesn't (it only monitors inbound traffic). I don't know for certain about the Vista one - but I would guess it doesn't from your question.