I cannot access a certain website. There are two possible reasons:
- The block is on the ISP side.
- The block is at the website.
Is there a technical way to figure out which of these are causing the problem?
I cannot access a certain website. There are two possible reasons:
Is there a technical way to figure out which of these are causing the problem?
It's hard to say without more information, but here are some general things to try:
0) lookup the website hostname (e.g. on windows execute "nslookup www.example.com," or, on os-x or *nix execute "host www.example.com". If you don't get an IP address response, that means your webserver system isn't registered in DNS.
1) Next ping the webserver. I.e. ping the hostname of the server running the website. If you get a response, that at least tells you there is an open network path (at least for ping) between your client and the web server. If you don't get a response, it could be that only ping is blocked, but most likely the server is just unreachable for some reason. It could be down.
2) Next, try to establish an HTTP connection to the website. You can use a browser and look at what happens (e.g. do you get an error, like 500, or does it just sit there and time out?). If it's a website that should be globally-reachable, at this point you might also consider using a service like DownForEveryoneOrJustMe.com This will help identify if the problem is only on your end (i.e. the client) or if the site is down for others (at least for the "DownForEveryoneOrJustMe.com" server.)
3) If you're unable to establish a connection, at this point it might be wise to kick off tcpdump or wireshark on your client (and/or on the web server if you have console and admin access) while you attempt to open a connection. This will allow you to see if TCP packets are getting to the server and how the server is responding. You'll get more clues then.
4) If the server is not responding to HTTP (TCP port 80) packets, it could be a firewall silently dropping the packets. But, it's also possible the machine isn't running an HTTPD daemon (e.g. apache). So, if you have admin rights on the server, you could look at the process table (using 'ps -aux | grep "http"' if it's *nix). If a daemon is running, the next place to look is the logs for apache or whatever web server software is being run. Etc.
If you give us more information, especially what you tried and what works or doesn't we can try to help you more. Good luck.