列出当前连接到 IIS Web 服务器的用户

列出当前连接到 IIS Web 服务器的用户

是否可以查看哪些 AD 用户当前正在浏览内部(内联网) IIS Web 服务器?

答案1

您对 HTTP 协议的理解存在问题。它不像 FTP,在 FTP 中,当用户“浏览”时,客户端计算机会保持与服务器计算机的持续连接。来自客户端的连接是短暂的。

话虽如此,假设您需要对网站进行身份验证,您可以使用网站的日志文件查看最近访问过页面的人。如果您不需要身份验证,那么您只会看到客户端 IP 地址。

答案2

我认为您无法在服务器级别获取单个用户,但您可以使用性能计数器来获取有多少个活动连接的数量。

对于 IIS6(从Technet 文章):

1.打开“管理工具”,然后单击“性能”。

2. 右键单击​​系统监视器详细信息窗格,然后单击添加计数器。

3. 执行以下操作之一:

要监视运行监视控制台的任何计算机,请单击“使用本地计算机计数器”。

-或者-

要监视特定的计算机,无论监视控制台在何处运行,请单击“从计算机中选择计数器”,然后指定计算机名称或 IP 地址。

4.在 Performance 对象中,单击:

用于监控活动 Web 连接的 Web 服务。

-或者-

FTP 服务用于监控活动的 FTP 连接。

5.单击从列表中选择计数器,然后选择当前连接。

6.单击所有实例。

7.单击“添加”,然后单击“关闭”。

答案3

参见 Evan 的回答。此外,netstat | find ":http" 会显示最近一分钟左右连接了哪些主机(无论 TIME_WAIT 间隔是多少)。

JR

答案4

如果您正在使用 asp.net 身份验证,并且想要通过您的网站查看结果,您可以在您的网站代码中使用以下 c# 代码:

using System.Web.Security;

MembershipUserCollection users = Membership.GetAllUsers();
            foreach(MembershipUser user in users)
            {
                if (user.IsOnline) 
                {
                    .
                    .
                }

            }

相关内容