Link to home
Start Free TrialLog in
Avatar of jvieira
jvieira

asked on

web server info

Hello,

I remember having a perl script that when given the ip address of a web server it would make a connection and get the type of web server that was running (IIS, Apache etc...) and version.  It returned the header information or something like that.  This was a couple of years back.  I'm trying to find out how many machine on my network have IIS 5.0 running on them.  It come with Windows 2K Pro and everyone seems to have it.

Can anyone help me out here?

Thanks,

Joe
ASKER CERTIFIED SOLUTION
Avatar of Tintin
Tintin

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of jhurst
jhurst

you can not rely on the result including this information though.  There are many systems that believe that this is a security breach and hide what they are or masquerade as something else.
Netcraft have a 'what's that site running?' interface at http://uptime.netcraft.com/up/graph/

Reading their docs, they don't  tell you how they determine the HTTP server. But I'd assume its as Tintin mentions above. HOWEVER, do take note of jhurst's cavaet.

Netcraft's site is interesting in that it also determine's the OS by "looking in detail at the network characteristics of the HTTP reply received from the web site" ... basically the order the headers arrived, or some "Server: " headers will tell you.

Anyways, the most reliable is probably Tintin's method, especially if they're your servers and you can see if they provide a useful response :)

(Don't give me the points, I'm just commenting on Netcraft's site)
nmap will tell you the OS type using TCP fingerprinting.
Actually I would add one extra suggestion.  Go for a pae that is not there.  The error response often gives more information than the correct information.  The header is likely to be similar but the 404-error handling tends to be VERY different especally if the site has left the default handling in place.
Avatar of jvieira

ASKER

That's exactly what I need.  I'm not too worried about people securing their machine not to release this information.  Most of them don't even know that they have IIS on their machines.

Thanks,
as a matter of interest, why do you care what web server they are running?
Avatar of jvieira

ASKER

We just recently dicovered that a lot of our users have IIS on their machines.  With all the bugs, security holes, and virus for IIS this is a problem.  We have to find out who has them so we can patch their machines before they bring the newtork down, AGAIN!  Now we also have other applications that use apache, Now we have a limited license with the app that uses apache, yet someone managed to get a CD and pass it around.  So we have to track how many of those we have.

These users have way too much control and I'm stuck fixing their mess.

Sounds like you need a vulnerability scanner in your environment.

Something like ISS Internet Scanner (or any number of other products)

See http://www.iss.net/products_services/enterprise_protection/vulnerability_assessment/scanner_internet.php
Avatar of jvieira

ASKER

That requires money.  The only thing this company spends money on is sending executives on golf trips and then comming back and telling us we spend too much money on IT and we need to cut back.  The politics and how this company spends money requires me to write individual programs to do what we need.  It keeps me employed but there are definetly better ways that this can be done.  On the upside if they ever fire me the network should collapse on itself in about a week.  JOY!
OK, I've you want a freebie, I suggest Nessus

http://www.nessus.org/