Finding verion of OS and httpd

If I know a machine's IP, open ports such as 23, 79, 80, 110
Is there anyway to find the machine's OS version and httpd's version legally?

Of course I don't have an account on that machine.

Is it considered hacking?

Any advice will be greatly appreciated.

Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

port 23 sometimes tells you the OS version.
port 80 may tell you the httpd version.

mzitoCommented: from a port scan....I remember those days.....vaguely illicit doings

    To answer your second question first, the legality of any of the actions I am going to give you is entirely dependent upon the
    sysadmin.  Odds are that nothing will happen.  However there are a number of people I know personally who widely
    prosecute  (prosecute meaning chase, not prosecute meaning legal action) anyone who even looks at their machine the wrong
    way.  The worst I could possibly see happening to you is that your account with your ISP is terminated, and you get a nasty email from
    the person who's machine's door you knocked on.

    So, here's what you do.  I'm only answering this because I used to figure out what OS various corporations ran out of curiosity.  I'm not
    liable if you use this for the Dark Side.  That being said, off we go...
    To find the OS:
    1) Telnet in to the machine on port 23.  If you're lucky, it'll print out the OS.
    For Example:
    Redhat 5.0 (Hurricane)
    Linux 2.0.32 on an Intel

    In that case, there you go.  Then, instantly log off and hope the guy doesn't go after anyone who telnets in (they really
    shouldn't...that's  just ridiculous )
    2) You can tell what type of OS a lot of times by what kind of services they're running.  If port 139 is open, the odds get better its a
    WIndows machine.  If port 514 is open, it's a lot more likely that it's a Unix machine.  None of these are absolutes though. Note that a
    strobe or other portscan IS considered an attack by many and will be prosecuted. I police that on my machine.  I have a lot of
    security  options enabled, and if someone portscans me, I nail them.  Be forewarned.
    3) If port 25 is open, telnet into that.  If it gives you a message with "Sendmail 8.8.7" in it, its a UNIX machine.  If it says "Exchange
    Server", it's probably NT.

    To find out the httpd server version, try visiting the website.  A lot of educational servers display prominently their web server of
    choice.  Or, try accessing a web page that you know does not exist. Some servers give you non-generic  404 responses that can
    display their httpd version.  Or email their webmaster and ask.  If you are genuinely curious, there's no harm in asking, is there?

    I firmly believe there's no harm in looking around....of course, emailing the administrator can't hurt either.  The worst thing they'll say is
    "No, I won't tell you", in which case you can then go try the above things.  On the other hand, if they tell you, you've saved yourself the
    time, trouble, and potential litigation.  I always tell people what systems we run if asked  (Sun UltraSparc 1 with Solaris 2.5.1, P133 with
    Slackware 2.0.33, p233 with Windows NT 4 <NT bites the big one>).  Good luck, and please don't do anything improper with this. I'd
    feel guilty.

    Best Wishes,
    Matthew Zito

yjh123Author Commented:
I heard that there is a way to find httpd version by telneting

into port 80.  Anyone knows?
If you telnet into port 80 and then type:
GET / HTTP/1.0
then press enter TWICE.
you simulate a web browser's http request for the index document for a particular ip.  Look at the beginning of the header info and you will see what type of httpd server it is as well as the version number.  The httpd version and type is always present no matter what type.  This would not be hacking since your browser does the exact thing, you just simulate its http requests.

As for the OS version, that can be hidden better.  As stated above, using a port scanner will sometimes give you clues to which OS it is running, but that is a more intrusive type of info getting.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Unix OS

From novice to tech pro — start learning today.