I use a firewall which is set up to allow Internet access by any app on my system manually. Unless the app has been granted trusted access previously by me, I get a prompt whenever an app is trying to access the Internet. It displays the ip address it’s trying to connect to plus the port number. I download and install a lot of software and I need to know when & why a software is trying to connect to the outside. If the software is from a trusted application and I know it needs access, I give it a permanent permission. I can revoke it later if needed. When a piece of software wants access, my initial reaction is to deny it and see what happens. If it runs fine without the access, I know access was optional. The software vendor is probably collection some information for statistical purposes. Hopefully nothing more! And they do know that some users run software behind firewalls or on systems which physically have no Internet access.
Some software need to need have Internet connectivity for activation or registration purposes which is fine. I let the firewall remember their access on a case by case basis. If there’s software which has no business demanding Internet access, I most probably refuse it and uninstall it.
Here’s a little tip when trying software from untrusted sources. Install the software in a virtual operation system like VMware or Virtual PC or use a sandbox like SandBoxie which I have been using for years. I can right click on an .exe file and tell Windows to run the app inside Sandboxie. Sandboxie can show the registry keys the app tried to use. Sandboxie uses a virtual file system and you can view the contents of the system.
Play it safe.