views:

92

answers:

7

This might sound like a dumb ques but how do u figure that out ? like some websites I visit do not have ANY extension to their web pages so I cannot tell if its built using Java, asp.net or php where as others have extensions clearly visible like .jsp,.php n .aspx

How do u hide extensions anyway and why would anyone do that ?

[edit]

Thanks for the answers. I just found out this website builtwith.com Does it really work ? I mean are the results correct ? Does anyone know abt it ?

+5  A: 

Basically it involves looking for fingerprints of that technology. Be aware though that all of these fingerprints can be spoofed. As you noted the file extension is one such obvious fingerprint, however back to spoofing, they could have just configured their PHP site to show .aspx instead.

List of some fingerprints off the top of my head:

  • Session cookie names (PHPSESSID for PHP)
  • HTTP headers and leaks (mod_php advertises by default on certain distros)
  • HTML tags and comments. Forms may be formatted specially
  • ASP javascript helpers and widgets
  • A particular framework for that technology's HTML/JS output (related to above)
  • Making the site produce an error :)
Rob Olmos
+1 I like your answer yet I believe it could be perfect if you gave few examples for each tech like Noddy Cha. Anyway... thanks :).
Asaf
+1 for the last line--that almost always works, although in most cases it's not easy to do. :)
musicfreak
and don't forget the Easter Eggs:http://blogoscoped.com/archive/2006-01-08-n31.html
JW
+2  A: 

Asp.net web forms are easy to spot due to post backs and view state.

Pierreten
+3  A: 

Right now I can think of just two ways to find out the technology:

  1. Search the "Page source" for clues - links to other pages in the sites, scripts that call server side functions etc.

  2. Find the host (whois) of the website and check if he supports a technology ... I don't know if jsp and php can be run on any sever (I think they need Apache) but I'm sure that aspx needs a special server(and as far as I know they so not support jsp)

It's an interesting question... and I like you wait for more answers.

Asaf
+1  A: 

Hi.. One easiest way to find out which programming lang is used for a web app is to search for form action attributes where the absolute or relative path of the action file that is done in the native programming language used to build that application.. for example =>

<form action="/action/login.php" type="post">

Hence, through above html code you may easily know which technology is used to build that particular site. Also links to other pages like

<a href="contact.php" > Contact Us </a>

Most of the websites donot use url over writing but the ones those use it are for this reason =>

http://roshanbh.com.np/2008/02/hide-php-url-rewriting-htaccess.html

Noddy Cha
+2  A: 

Finding out the specific web technology perfectly is nigh impossible with resorting to black hat tactics. There are, as people have said fingerprints of technology that you can use.

As for your question to why people would hide information, they often don't, it just happens that many frameworks use url-rewriting to provide more semantic urls. It makes for a more pleasant experience for both the user and the programmer.

You also seem to be assuming that all websites are written in scripting languages, this is not true. While many are as a side effect of the evolution of the web, you can have sites that run off of a Java server, or are written using C++.

In conclusion, there is not really a way to know, other than a couple obvious ones, and it shouldn't really matter.

Aatch
+3  A: 

For sheer ease of use, so long as you're able to use Google Chrome, I can heartily recommend Chrome Sniffer, which analyses the page (presumably) and then drops icons into the address bar to show the libraries/tools used.

It covers JS libraries and web applications more than behind-the-scenes php, asp.net (and so on) tools and technology, but it's a usefult first-step.

David Thomas
Opera has got some similar functionality as well
Asaf
+2  A: 

There is also http://webmastercoffee.com/

Each technology/framework leaves certain patterns in the HTML code and those sites (the one you found most probably as well) search for those patterns.

They are not 100% reliable (probably not even 90%) but do a decent job most of the time

a_horse_with_no_name