That's the question I've been trying to find out:
What is the difference seen by a server/website (and/or in headers seen) between a normal person with a dynamic hostname at a mainstream ISP versus a proxy/private proxy?
How can websites distinguish between the two, or can they?
I believe webstes can easily distinguish between the two and I think they are using methods more and more often in order to distinguish between the two and that's why so many people are now finding their proxies/private proxies and applications that rely on these proxies not being as efficient as they once were.
Am I right in assuming this?
If so what are these methods websites are using to distinguish between a normal person with a dynamic hostname at a mainstream ISP versus a proxy/private proxy, and what can be done to bypass those methods?
Thanks.
To give you an overview on how they catch proxies:
Easiest ways are IP blacklisting and HTTP Header checking.
Many (HTTP) proxies add HTTP headers and/or hide specific HTTP headers, looking for that reveals a lot of proxies.
The next approach is using blacklists, simply match the incoming IP against known abusers and known proxy networks. So major proxy providers as well as major datacenters are detected (they do not provide ISP services, all IPs from there are from servers).
Next approach is a commercial geo IP database which contains network speed, if speed is 100mbps+ it is likely a proxy.
So these were the main approaches used to detect proxies by automated means.
When we look at banks, e-payment sites or affiliate sites (basically all that is handling real money) then it becomes harder.
These companies do not only rely on the automated detection they also have human staff that verifies the accounts.
By using a private proxy you often PASS through the automated checks as long as the proxy is well set up and not part of a blacklist yet.
But the human verification will easily detect it as proxy.
Most times by the hostname (as example recently I was helping a customer of rcom to solve his troubles and the hostname of the proxy was indian (.in) ).
The hostname of a major DSL/cable provider is usually easy to detect and it has a proper reverse zone setup.
The hostname of a private proxy is either a server hostname, is missing, lacking reverse checks or is using domains that are no mainstream ISPs.
Actually you probably can detect > 90% of all private proxies by looking at the hostname.
Geoip databases do the rest.
The evil part about this is that human verification is asychronous to the signup process. Paypal as example is known to limit accounts when you try to withdraw a larger sum. Affiliate companies do the same, they wait until you want money and then they boot your ass

I guess this is calculation as most of the banned accounts have considerable money on them and the action is not disputed or brought to court. A lot of $$ get lost.
A dynamic hostname from a main ISP usually can't be detected as proxy by human eyes.