How can I access Internet using my PC through an Android phone connected via USB? I have a phone with Android 2.2 (HD2 with CM6.0) enabled to surf internet pages (data connection). Now, I would like to "surf" using my PC connected via USB to the phone.

Is it possible? Which programs do I need both on PC and Android?

If there are multiple solutions available, a free or low cost one is preferred
Seeing that you have 2.2, the easiest solution would be to go to Settings -> Wireless &amp; networks -> Tethering &amp; portable hotspots. There you have an option to enable usb tethering (exactly what you asked for) or, even better try out Portable Wi-fi hotspot. That way you will be able to connect to the internet without connecting the phone via usb, and connect multiple devices if you want.