A nice command line tool for checking DNS entries is nslookup.
nslookup hostname
spoiler (click to show/hide)
C:\Users\Corporal>nslookup www.google.com
Server: fritz.box
Address: 10.0.0.254
Non-authoritative answer:
Name: www.l.google.com
Addresses: 209.85.149.103
209.85.149.105
209.85.149.147
209.85.149.104
209.85.149.106
209.85.149.99
Aliases: www.google.com
You can supply your own DNS to cross-check.
nslookup hostname DNS_IP
C:\Users\Corporal>nslookup www.google.com 8.8.8.8
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
Name: www.l.google.com
Addresses: 209.85.148.147
209.85.148.106
209.85.148.99
209.85.148.104
209.85.148.103
209.85.148.105
Aliases: www.google.com
This will not always give you the same numbers, especially in googles case:
C:\Users\Corporal>nslookup www.google.com 4.2.2.1
Server: vnsc-pri.sys.gtei.net
Address: 4.2.2.1
Non-authoritative answer:
Name: www.l.google.com
Addresses: 74.125.43.105
74.125.43.106
74.125.43.147
74.125.43.99
74.125.43.103
74.125.43.104
Aliases: www.google.com
Make a list of sites that give you trouble and check them via http://www.downforeveryoneorjustme.com/ then run them through nslookup.
If DNS checks out alright then tracert those fuckers. Maybe some router on the way is dropping packets?
tracert hostname
This will send pings to every system your packet runs through, a star means "no response", so that host might be the one to eat your packets. Or maybe it's just configured to disregard pings. Still, worth a try.
Your ISP might be running a transparent proxy that's breaking down. Check your settings and maybe use TOR or a VPN to the "outside" to compare.
That's all I can think of before my first cup of coffee in the morning.