首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >捕获VPN使用情况统计信息

捕获VPN使用情况统计信息
EN

Stack Overflow用户
提问于 2009-02-19 15:09:38
回答 3查看 1.7K关注 0票数 3

我们使用.NET 2.0中的NetworkInterface.GetIPv4Statistics()来监控网络接口的使用统计信息。这没有报告正在通过隧道传输VPN流量的连接的正确统计信息。相反,在Cisco VPN客户端的情况下,使用情况只是归因于一个新的网络接口,该接口看起来就像以太网连接。

Windows本身(至少是Vista)会正确地将VPN统计信息添加到实际物理接口,因此查看原始连接的“Status”对话框时会显示正确的字节计数。但是,.NET中的调用结果不会将流量合并在一起。

有没有一种方法可以将VPN连接重新关联到通过隧道传输的网络连接?否则,是否有人知道状态对话框正在使用哪个API来检索正确的统计信息?

目前,我们必须手动检测看起来像是VPN的连接,并将其使用情况添加到任何其他活动的连接中,而这似乎不是一个可靠的解决方案。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-03-20 16:51:53

正如Rob所建议的,答案就在WMI中。Win32_PerfFormattedData_RemoteAccess_RasPort似乎就是Windows自己使用的--数字是一样的,一个字节接一个字节,不管VPN是否启动。

我使用以下工具进行测试:

代码语言:javascript
复制
static class Program
{
    static void Main()
    {
        var query = new WqlEventQuery("__InstanceModificationEvent", TimeSpan.FromSeconds(1),
                                      "TargetInstance ISA 'Win32_PerfFormattedData_RemoteAccess_RasPort' AND TargetInstance.BytesReceived > 0");

        var watcher = new ManagementEventWatcher(query);
        watcher.EventArrived += EventArrived;
        watcher.Start();

        Console.ReadLine();
    }

    static void EventArrived(object sender, EventArrivedEventArgs e)
    {
        var mo = e.NewEvent["TargetInstance"] as ManagementBaseObject;
        Console.WriteLine("{0:#,0}: {1:#,0} bytes sent, {2:#,0} bytes received", mo["Name"], mo["BytesTransmitted"], mo["BytesReceived"]);
    }
}
票数 0
EN

Stack Overflow用户

发布于 2009-03-01 04:01:12

Here's a program written in Delphi (具有完整的源代码和解释),将帮助您收集网络信息,包括VPN数据。这是使用也可用于C#的open-source Indy components

我建议浏览一下源代码,你会发现它发出的确切的Windows API调用。它严重依赖于IP Helper API (IPHlpApi

如果你只想找C#的例子,我建议你在谷歌上搜索"C#和IpHlpApi“。

问候

alt text http://z.about.com/d/delphi/1/0/k/2/112903_2.gif

票数 2
EN

Stack Overflow用户

发布于 2009-02-24 02:44:58

我得在上班的时候检查一下我的配置是什么样子的。

Cisco VPN所做的一件事就是禁用分割隧道。这意味着您将无法访问连接到VPN的连接上的本地子网。

当我的以太网连接配置了IP地址,但没有默认网关时,我可以看到这一点。

假设您标识了VPN连接,则该无网关连接将是您的另一个连接。

另外,你有没有研究过任何WMI类。Cisco VPN可能会与WMI类进行交互。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/565734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档