【问题标题】:Why is my program sending 'Anonymous IP Packets' and how do I stop that?为什么我的程序会发送“匿名 IP 数据包”,我该如何阻止它?
【发布时间】:2011-06-21 11:19:48
【问题描述】:

所以,我们今天刚刚得到消息,我们的一个客户端防火墙正在阻止我们的 HTTP 请求,因为“[软件] 正在向我们的防火墙(Microsoft TMG 防火墙)发送匿名数据包,因此防火墙将数据包作为匿名访问丢弃[不允许]。”

对于我们的连接代码,我们使用带有 curl 的 c++,如果需要,我们会回退到 IEDownloadToFile。我没有编写原始代码,也不是真正的网络程序员,所以我来这里寻求帮助。所以,我的问题是:什么是匿名数据包?我在 curl 中做了什么可能导致匿名数据包?在哪里可以找到有关解决此问题的更多信息?谢谢!

【问题讨论】:

    标签: c++ curl network-programming ip packet


    【解决方案1】:

    他们的意思是你的应用必须验证with the firewall。该链接提供了有关 TMG 产品的大量信息。您的客户可能有这样的配置:

    要求用户在任何时候进行身份验证 他们要求访问网络。每个网络 会话需要身份验证。

    使用此方法时,请注意 以下:

    匿名网络访问被禁用。

    Forefront TMG 请求用户 凭据并在之前验证它们 它根据 防火墙策略。如果用户未能 验证,他们的访问请求是 拒绝。

    此方法是按网络定义的。 大多数非交互式客户端,例如, Windows 更新客户端,不能 验证,因此被拒绝 访问。

    因此,当用户打开他们的网络浏览器并尝试访问网页时,他们会收到一个要求提供凭据的弹出窗口,因为防火墙已经拦截了他们的网络请求并发送了自己的身份验证页面。当用户进行身份验证时,防火墙会传递 Web 流量。

    您的自动化应用未通过防火墙进行身份验证,因此防火墙会丢弃数据包,您的流量被归类为 anonymous

    抱歉,我不知道如何让您的应用程序通过防火墙进行身份验证的解决方案。如果您的应用访问特定的 URL,站点运营商可以将它们列入白名单。

    根据this page,您应该从 curl 收到 错误 407:需要代理身份验证。尝试将这些选项添加到 curl 初始化中,但您仍然会遇到以交互方式向用户询问其网络凭据的问题:

    CURLOPT_HTTPAUTH: add CURLAUTH_NTLM
    CURLOPT_PROXYAUTH: add CURLAUTH_NTLM
    set CURLOPT_FOLLOWLOCATION
    

    【讨论】:

    • 他们确实在使用 Microsoft TMG。所以我们会联系他们,看看我们能解决什么问题。感谢您的帮助!
    【解决方案2】:

    在标准网络用语中没有“匿名数据包”之类的东西。您的客户的防火墙正在编造条款,或者在消息到达您之前的某个地方出现了错误沟通。无论哪种方式,您都需要从您的客户或防火墙的供应商或文档中获得说明。

    【讨论】:

      【解决方案3】:

      我同意 bdonlan。在 http 请求的上下文中,“匿名数据包”充其量是含糊不清的。也许他们的意思是没有推荐人代码?或者他们需要http-authentication?或者您需要建立会话密钥才能访问您请求的特定网址?您需要客户提供实际的技术细节。

      【讨论】:

        猜你喜欢
        • 2014-05-21
        • 1970-01-01
        • 1970-01-01
        • 2012-05-19
        • 1970-01-01
        • 2021-03-12
        • 1970-01-01
        • 2012-09-29
        • 1970-01-01
        相关资源
        最近更新 更多