Webmaster Tools has a feature that allows you to see which sites link to your site.
https://www.google.com/webmasters/tools/external-links
It should be a comprehensive list of all links that Google has discovered. You can also download the latest links it has found as well as other data.
I don't believe that Google provides a way to sort the inbound links for specific URLs, but you can download the csv files that Google provides and play around with it.
When somebody clicks from another site to your site via a link, the browser usually sends you a referrer header that tells you that they came from an external source. You can see these in your log files. Most analytics software will give you are report on these as well.