Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

If I want to know for sure that a web site is really blocked by the authorities or the site itself faking it, what kind of a method can I use..? I mean that when we use tracer it just use the ICMP... But is it possible that a site is blocked even after having a successful tracing? (like blocking TCP ports)

share|improve this question

migrated from stackoverflow.com Nov 3 '11 at 12:01

This question came from our site for professional and enthusiast programmers.

    
DNS blocking would simply prevent you from resolving the IP of the server from its domain name. (Update: Seems the comment I was referencing has been removed, oh well...) –  Polynomial Nov 3 '11 at 11:56
add comment

3 Answers

You can't use ICMP alone to discover if a service is up. It's just another protocol that the machine happens to accept and have appropriate daemons for. A ping will show you that the machine is up and accepting ICMP ECHO requests, but it can't tell you that a service is listening on a TCP port. Since some servers don't respond to ICMP requests or have firewalls that block those requests, ICMP won't always be reliable.

In order to test if a specific service is up, just attempt a TCP connection to that service.

In order to test if your route to the host is being blocked, use a VPN and attempt to access the site from a different country. You could also use a down/up test like http://downforeveryoneorjustme.com/ to test if the HTTP daemon is up and available from somewhere else.

share|improve this answer
add comment

Quickest way to see if the server for the website is up is to ping the web address, if it returns an ip address, but all the echo replies time out, that is a good indication that the server is up. This trick works in all operating systems.

Example (from a Unix/Linux system):

user$:ping amazon.ca
PING amazon.ca (72.21.206.110): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1

Another option if you run a linux system is to use a tool called zenmap, which is built off of nmap. It is a port scanner, so if it reports that port 80 is active then you know the web server is up. It is not illegal to use a port scanner, just be careful as some ISPs have in their service agreement that their customers cannot use tools like port scanners.

share|improve this answer
add comment

You may like to use hping which determines whether a TCP service is up by sending TCP SYN request and waiting for SYN/ACK response. It works more reliably than ICMP ping because, as they said, the host may be blocking ICMP responses.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.