views:

35

answers:

4

When ever I visit a website first thing that pops in my mind is, what language/framework/technology they used for developing this website.

Most of the time we see things like .aspx/asp/php etc., but these days because of SEO the URL's are clean and doesn't have those extensions.

so, what's the best way to find the technology behind that website.

Example: http://www.tomorrowvc.com/

+1  A: 

Just view the HTML source. Your example has:

<meta name="generator" content="WordPress 2.7.1" />

This will not work for every site, however.

Michel de Ruiter
If it a clean and carefully developed web page -View source doesn't revel any stuff : only pure html..
Broken Link
A: 

view the source, it says:

<meta name="generator" content="WordPress 2.7.1" /> 
http://www.tomorrowvc.com/xmlrpc.php
http://www.tomorrowvc.com/wp-includes/....

so it is generated with a php based cms named wordpress

I.devries
A: 

Usually people look at the HTTP headers in the response and the page sources. There are enough clues left around that can help you determine it.

However, there's no way to find this information for a website that does not want you to know. Properly sanitized URLs, HTTP responses and HTML don't carry information about the technology used to deliver them.

(Others already answered what's the tech behind the articular example in your question)

Franci Penov
+1  A: 

This is a VERY convoluted question. Sure, it seems simple on the surface, but there's so much to it that it's far from trivial.

There are the basics, like the meta "generator" tag. If that's set, it can tell you something. But it's not always set (and you can't trust it even when it is set).

Then you come down to other things. Things such as quirks in output generation and header order. Obviously you would need to create a metric to figure these out.

Then you can hit directory structure. For example, Wordpress has the wp_includes directory.

You can also look for known files (like an xml file).

And you can also look at the server to get a hint (detect what kind of web server it's running (which is a non-trivial problem in itself) and you can get clues to the application). For example, if the server was Mongrel, you know it's ROR. If the server is IIS, you have a decent idea it's .NET (It could be others too), but if it's not IIS, you know it's not .NET.

It's a VERY hard problem. There's no easy solution that works most of the time, and every method can be bypassed by a competent developer/system administrator. But best of luck trying...

ircmaxell