Assuming you want to do this in your ASP.Net code, and not by using a web server tool, you can increment a counter in an Application (or Cache) variable on Session_Start, and decrement it on Session_End in Global.asax.
If you want to know more than the count of active users, you can accumulate user information in a collection there -- a List<T> of User objects, perhaps.
Here's some code to get you started with this approach:
protected void Session_Start(object sender, EventArgs e)
{
Application.Lock();
Application["SessionCount"] = Convert.ToInt32(Application["SessionCount"]) + 1;
Application.UnLock();
}
protected void Session_End(object sender, EventArgs e)
{
Application.Lock();
Application["SessionCount"] = Convert.ToInt32(Application["SessionCount"]) - 1;
Application.UnLock();
}