Quite often I come across a nice looking or functional website, and wonder what technology was used to create it. What techniques are available to figure out what a particular website was built with?
Few frameworks seem to include any kind of generator meta tag like web editors do. Are there any tell-tale signs of particular languages and/or frameworks?
Summary of answers
Site URLs may betray the framework and/or programming language but cannot be relied upon (e.g. file extensions such as .asp). HTTP response headers, cookies, stylesheets and source comments may also give clues.
Some nice tools for querying site details (no doubt there are many more):
Firefox addons:
Chrome Extensions:
Bookmarklets:
This question is related to
html
frameworks
reverse-engineering
Examining the cookies the site gives can reveal the underlying framework. CodeIgniter, for example defaults to a telltale ci_sessions cookie. Sites using PEAR Auth will do something similar.
You could use http://builtwith.com to figure out which server and programming language was used. For example it told me that SO uses IIS7, google analytics, html4 and utf8.
If you want to know the framework...well that will probably not be possible just from looking at the site. Why don't you write them an email? ;)
yes there are some telltale signs for common CMSs like Drupal, Joomla, Pligg, and RoR etc .. .. ASP.NET stuff is easy to spot too .. but as the framework becomes more obscure it gets harder to deduce ..
What I usually is compare the site i am snooping with another site that I know is built using a particular tech. That sometimes works ..
http://guess.scritch.org/ does this for CMSs.
Just pop in the URL and it'll try to guess the CMS. In this case it tells me my blog is running wordpress 3.4.2 (which is correct, I just checked!)
I use 1 plug in for Firefox that gives me the IP and country for the hosting website and it's Web Server name called Domain Details, and for javascript framework I use WTFramework
I still need to wonder what script it was written on, but it is a start :)
Hope it helps.
P.S. the output will be something like this:
alt text http://img88.imageshack.us/img88/2505/200812282328ha0.png
URLs can give a lot of clues, especially with Content Management Systems.
For example "http://abcxyz.com/node/46" looks a lot like Drupal.
Also many frameworks have standard JavaScript and CSS files they use.
Most ASP.NET sites are easy to identify from the .aspx in the URLs. There are also telltale signs in the HTML source, like a hidden form field named __VIEWSTATE
or the WebResource.axd JavaScript. HTML elements will often have id attributes starting with something like _ctl0
.
Rails sites will usually include stylesheets from /stylesheets and JavaScript files from /javascripts and each URL will usually have a query string containing a timestamp to thwart caching. Form fields will often follow the naming convention of model_name[attribute_name]
.
You could use http://builtwith.com to figure out which server and programming language was used. For example it told me that SO uses IIS7, google analytics, html4 and utf8.
If you want to know the framework...well that will probably not be possible just from looking at the site. Why don't you write them an email? ;)
Some people might even deliberately obscure the technology they use. After all, it wouldn't take me long to tweak apache so that ".asp" actually ran perl scripts and put "powered by Microsoft IIS" into my footer despite the fact I used MySQL.
That way you'd spend all your time trying to hack my site using vulnerabilities it doesn't actually have.
Go to Netcraft and use the "What's that site running?" search box in the top left corner. Click here for the report on Stack Overflow. It won't necessarily be correct (e.g., there could be caching or load balancing in the way), but it often gives you the clue you need.
There is also W3Techs, which shows you much of that information.
Check out Chrome Sniffer, a great light-weight solution.
http://guess.scritch.org/ does this for CMSs.
Just pop in the URL and it'll try to guess the CMS. In this case it tells me my blog is running wordpress 3.4.2 (which is correct, I just checked!)
Check out Chrome Sniffer, a great light-weight solution.
Go to Netcraft and use the "What's that site running?" search box in the top left corner. Click here for the report on Stack Overflow. It won't necessarily be correct (e.g., there could be caching or load balancing in the way), but it often gives you the clue you need.
Examining the cookies the site gives can reveal the underlying framework. CodeIgniter, for example defaults to a telltale ci_sessions cookie. Sites using PEAR Auth will do something similar.
You could use http://builtwith.com to figure out which server and programming language was used. For example it told me that SO uses IIS7, google analytics, html4 and utf8.
If you want to know the framework...well that will probably not be possible just from looking at the site. Why don't you write them an email? ;)
In Linux/OSX I often use simple command curl -sI www.site.com
I use 1 plug in for Firefox that gives me the IP and country for the hosting website and it's Web Server name called Domain Details, and for javascript framework I use WTFramework
I still need to wonder what script it was written on, but it is a start :)
Hope it helps.
P.S. the output will be something like this:
alt text http://img88.imageshack.us/img88/2505/200812282328ha0.png
You could use http://builtbased.com/ to figure out which server, framework and programming language was used.
You can use domaintools.com to lookup the server information for a website and narrow down to whether it's open source / Microsoft:
http://whois.domaintools.com/stackoverflow.com
And after that it's a matter of looking in the footer for tip-offs such as "Powered by WordPress" or "vBulletin" etc.
URLs can give a lot of clues, especially with Content Management Systems.
For example "http://abcxyz.com/node/46" looks a lot like Drupal.
Also many frameworks have standard JavaScript and CSS files they use.
I use WebParser (http://www.cybermake.com) that allows to determine the CMS used by a website. It allows to determine CMS for multiple websites as well as it can pull the list of websites from the search engines for a given list of keywords. Powerful tool.
http://www.quarkbase.com/ is a very nice tool and information website
URLs can give a lot of clues, especially with Content Management Systems.
For example "http://abcxyz.com/node/46" looks a lot like Drupal.
Also many frameworks have standard JavaScript and CSS files they use.
Some people might even deliberately obscure the technology they use. After all, it wouldn't take me long to tweak apache so that ".asp" actually ran perl scripts and put "powered by Microsoft IIS" into my footer despite the fact I used MySQL.
That way you'd spend all your time trying to hack my site using vulnerabilities it doesn't actually have.
You could use http://builtwith.com to figure out which server and programming language was used. For example it told me that SO uses IIS7, google analytics, html4 and utf8.
If you want to know the framework...well that will probably not be possible just from looking at the site. Why don't you write them an email? ;)
You can use domaintools.com to lookup the server information for a website and narrow down to whether it's open source / Microsoft:
http://whois.domaintools.com/stackoverflow.com
And after that it's a matter of looking in the footer for tip-offs such as "Powered by WordPress" or "vBulletin" etc.
I use 1 plug in for Firefox that gives me the IP and country for the hosting website and it's Web Server name called Domain Details, and for javascript framework I use WTFramework
I still need to wonder what script it was written on, but it is a start :)
Hope it helps.
P.S. the output will be something like this:
alt text http://img88.imageshack.us/img88/2505/200812282328ha0.png
http://www.quarkbase.com/ is a very nice tool and information website
There is also W3Techs, which shows you much of that information.
I use WebParser (http://www.cybermake.com) that allows to determine the CMS used by a website. It allows to determine CMS for multiple websites as well as it can pull the list of websites from the search engines for a given list of keywords. Powerful tool.
You can use domaintools.com to lookup the server information for a website and narrow down to whether it's open source / Microsoft:
http://whois.domaintools.com/stackoverflow.com
And after that it's a matter of looking in the footer for tip-offs such as "Powered by WordPress" or "vBulletin" etc.
Most ASP.NET sites are easy to identify from the .aspx in the URLs. There are also telltale signs in the HTML source, like a hidden form field named __VIEWSTATE
or the WebResource.axd JavaScript. HTML elements will often have id attributes starting with something like _ctl0
.
Rails sites will usually include stylesheets from /stylesheets and JavaScript files from /javascripts and each URL will usually have a query string containing a timestamp to thwart caching. Form fields will often follow the naming convention of model_name[attribute_name]
.
Examining the cookies the site gives can reveal the underlying framework. CodeIgniter, for example defaults to a telltale ci_sessions cookie. Sites using PEAR Auth will do something similar.
http://www.similartech.com is a new tool we made, that does just that and presents it very nicely.
Some people might even deliberately obscure the technology they use. After all, it wouldn't take me long to tweak apache so that ".asp" actually ran perl scripts and put "powered by Microsoft IIS" into my footer despite the fact I used MySQL.
That way you'd spend all your time trying to hack my site using vulnerabilities it doesn't actually have.
You can use domaintools.com to lookup the server information for a website and narrow down to whether it's open source / Microsoft:
http://whois.domaintools.com/stackoverflow.com
And after that it's a matter of looking in the footer for tip-offs such as "Powered by WordPress" or "vBulletin" etc.
Go to Netcraft and use the "What's that site running?" search box in the top left corner. Click here for the report on Stack Overflow. It won't necessarily be correct (e.g., there could be caching or load balancing in the way), but it often gives you the clue you need.
yes there are some telltale signs for common CMSs like Drupal, Joomla, Pligg, and RoR etc .. .. ASP.NET stuff is easy to spot too .. but as the framework becomes more obscure it gets harder to deduce ..
What I usually is compare the site i am snooping with another site that I know is built using a particular tech. That sometimes works ..
In Linux/OSX I often use simple command curl -sI www.site.com
http://www.similartech.com is a new tool we made, that does just that and presents it very nicely.
yes there are some telltale signs for common CMSs like Drupal, Joomla, Pligg, and RoR etc .. .. ASP.NET stuff is easy to spot too .. but as the framework becomes more obscure it gets harder to deduce ..
What I usually is compare the site i am snooping with another site that I know is built using a particular tech. That sometimes works ..
Go to Netcraft and use the "What's that site running?" search box in the top left corner. Click here for the report on Stack Overflow. It won't necessarily be correct (e.g., there could be caching or load balancing in the way), but it often gives you the clue you need.
yes there are some telltale signs for common CMSs like Drupal, Joomla, Pligg, and RoR etc .. .. ASP.NET stuff is easy to spot too .. but as the framework becomes more obscure it gets harder to deduce ..
What I usually is compare the site i am snooping with another site that I know is built using a particular tech. That sometimes works ..
I use 1 plug in for Firefox that gives me the IP and country for the hosting website and it's Web Server name called Domain Details, and for javascript framework I use WTFramework
I still need to wonder what script it was written on, but it is a start :)
Hope it helps.
P.S. the output will be something like this:
alt text http://img88.imageshack.us/img88/2505/200812282328ha0.png
You could use http://builtbased.com/ to figure out which server, framework and programming language was used.
Source: Stackoverflow.com