what can i do to check what platform a site is running, whether it's asp.net, and what kind of database engine it's using, and any other tools that are running? (given that it is not my site and i dont have access to it)
From the outside? You can search sties at Netcraft. That's not 100% reliable. If you can figure out what database engine the site is running, they have messed up their security in a big way (returning SQL errors to the client for example). If it's ASP.NET, you will almost always see a ViewState on the client side.
Is this your own server, or a remote site? Since the former doesn't make much sense for you to be asking about, I'll assume the latter... there's no way to find out with any certainty any of the information you're looking for. Probably the best you're going to be able to do is use a tool like nmap to port-scan the server and have it identify services and versions running on each port. Then there's the question of WHY you want to do this... perhaps if we knew your goal, we could find an alternate means.
Looking in the response headers might help find the hosting platform (e.g. stackoverflow sends a "Server" header with "Microsoft-IIS/7.0" value). Cookies might help too, if it is a site that needs session state (e.g. asp.net has a session tracking cookie entry with the default name of ".ASPXAUTH").
Apart from O/S, webserver and framework (see JP's answer) it is generally not possible to get information on the database or "other tools", and I wonder what your motivation is.
You can sometimes determine what technologies a company uses by looking at its job offers.
http://guess.scritch.org does pretty well for a lot of CMS's, frameworks and platforms.