【问题标题】:TCP Event Monitor in .NET.NET 中的 TCP 事件监视器
【发布时间】:2011-03-27 22:30:30
【问题描述】:

我有一个 SysTray 应用程序需要知道浏览器何时遇到 Internet TImeout/Connection Not Found/etc... 错误。在端口级别,这可能是从网络无法使用到网络未找到等任何内容......

我不需要查看流经网络的每个 TCP 数据包,但我确实需要了解流经所有端口的 TCP/Port/WinSock(无论哪个有效)事件。

理想情况下,我会避免使用 WinPCAP,因为这是一种可分发的软件产品,人们往往不喜欢计算机上的 WinPCAP。

我正在使用 .NET 4.0 Full - 有人可以指点我正确的方向吗?

【问题讨论】:

  • 如果浏览器以外的程序遇到同样的问题怎么办?那你想知道吗?

标签: .net events tcp tcplistener


【解决方案1】:

如果您对查看实际的 TCP 数据包不感兴趣,而只对打开的连接感兴趣,为什么不使用NETSTAT -a

它将为您提供客户端计算机上当前连接的协议、本地、外部和状态信息。

使用Process 类生成NETSTAT -a。使用Process.StandardOutput 将输出重定向到您的应用程序,然后使用regexstring.split 过滤掉必要的字符串。

【讨论】:

    【解决方案2】:

    感谢您的回复 - 它引导我访问 IPGlobalPrperties - http://www.eggheadcafe.com/sample-code/csharp.NET/c51bd463-c6c3-48fb-a972-5b440215992a/provides-information-about-the-transmission-control-protocol-tcp-connections-on-the-local-computer.aspx

    使用该代码的派生代码,我能够为 TCP 事件设置监视器。

    【讨论】:

    • 那个链接已经死了。您能否更新和/或至少分享您的一些代码?我需要监视从我公司的旧 PBX(通过已知 IP 地址和端口号)到其旧客户端软件(Oaisys NetPhone v4.6)的 TCP 流量,两者都不再受支持(除非我们升级,否则我们不会随时升级)很快)提取来电显示电话号码以解决客户端 sfw 不再在 Windows 10(与 7 或 XP 相比)下记录来电显示号码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    相关资源
    最近更新 更多