This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3100MOD:如何停止 DNS

Guru**** 2587365 points
Other Parts Discussed in Thread: CC3100, CC3120

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/603344/cc3100mod-how-to-stop-the-dns

器件型号:CC3100MOD
主题中讨论的其他器件:CC3100CC3120

您好!

我正在使用 CC3100,它在 AP 模式下运行。

它配置为 UDP 服务器。

在  AP 模式下配置模块后、我发送 sl_NetAppStop (sl_NET_APP_MDNS_ID)命令。

但 DNS 仍处于活动状态。

如何停止 DNS 数据包流?

我面临很多问题、因为如果使用多个网络接口、CC3100中的 DNS 服务器优先于其他网络接口。

TI 团队您能为我提供 解决方案吗?

谢谢、

Likhitha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Likhitha、

    此 API 适用于 mDNS (多播 DNS)服务、而不适用于 AP 模式下的 DNS。 例如、在新的 CC3120中、有用于此目的的 API、并且可以停用 DNS 服务器。 在新 CC3120或 CC3220中:SL_NetAppStop (SL_NetApp_DNS_Server_ID);

    我认为有以下解决方案:

    • 我认为在技术上可以创建将停用 DNS 的服务包。 这需要由 TI 来完成。 但是、如果您不是大客户、我认为他们不会为您提供帮助。
    • 使用 UDP RAW 套接字并将所有 UDP 通信转发到您的代码
    • 最后一个选项、我不确定是否可行、但您可以尝试:

    -在 AP 模式下将 CC3100的 IP 地址设置为静态、DNS IP 设置为0.0.0.0

    -如果 DHCP 服务在重新启动后未返回错误,它可以像这样工作...

    -在这种情况下,DHCP 响应中将返回 DNS 0.0.0.0,系统将不使用此 DNS IP


    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jan、
    感谢您的回复。
    当我们将 DNS 设置为0.0.0.0时,sl_NetAppSet(SL_NET_APP_DHCP_SERVER_ID,NetApp_Set_DHCP_SRV_basic_op, outLen,(unsigned char*)&dhcpParams) API 将返回错误代码-6

    谢谢、
    Likhitha
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Likhitha、

    您能否提供代码的一部分、用于为 AP 模式设置静态 IP、设置 DHCP 池范围并重新启动 DHCP 服务器? 我可以检查是否全部正确。
    我认为这是一个更大的机会,这种方式将不起作用,但我们需要确保你正确地设置所有内容。

    也许您还可以将 DNS 服务器 IP 设置为该子网中的某些 IP,其中没有设备... 例如、AP 模式的 CC3100设置为192.168.2.1、网络掩码:255.255.255.0、网关:192.168.2.1、DNS 设置为192.168.2.200。

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Likhitha、

    还有一个想法。 我在文件 netapp.h 中找到了定义 SL_NET_APP_DNS_SERVER_ID 的注释行。

    您可以在代码中尝试这行吗? 返回什么代码?

    RET = sl_NetAppStop (8);

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jan、

    请参阅代码片段。

    谢谢、

    Likhitha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Likhitha、

    您的代码看起来正常...

    请先尝试将 DNS 设置为192.168.76.200、然后再进行第二次测试、请尝试使用 sl_NetAppStop (8);

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Jan

    RET = sl_NetAppStop (8);

    令我惊讶的是、它不会返回任何错误代码。

    但 DNS 服务不会停止。

    谢谢、

    Likhitha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Likhitha、

    评论这条线的原因似乎很简单... API 不起作用:(

    更新:只是为了确保您的测试不受 Windows 中 DNS 缓存的影响... 请重新启动系统。

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jan、
    DNS 未被禁用...
    我们项目的主要障碍…
    谢谢、
    Likhitha
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Likhitha、

    是否可以将 DNS IP 设置为192.168.76.200? 如果您可以使用此参数启动 DHCP 服务器,则 Windows 将使用 DNS IP 192.168.2.200,并且不会响应 DNS 请求。
    可以有更多选项、但需要更多编码。 几个选项:
    -使用原始 UDP 套接字(使用"自己的"UDP 堆栈)
    -使用自己的 DHCP 服务器(禁用内部 DHCP 服务器并在不设置 DNS IP 的情况下发回响应等)
    -等等

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jan、
    您是否有自己 DHCP 服务器的示例代码(禁用内部 DHCP 服务器并在未设置 DNS IP 的情况下发回响应等)?
    谢谢、
    Likhitha
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Likhitha、

    很抱歉、不 要实现真正的实施、您需要在互联网上搜索。

    但是、对于证明概念、您可以使用 Wireshark 获取的数据包- wiki.wireshark.org/DHCP。 只需很少的字段即可即时准备(交易 ID 等)。

    BTW、来自 CC3100版本说明:

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jan、

    感谢您的回答。
    TI 建议了一种权变措施机制、但未按预期工作。任何注释...
    e2e.ti.com/.../603855

    谢谢、
    Likhitha
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Likhitha、

    是的、我阅读了您的帖子。 您似乎没有在设备内部上传 ServicePack。 这可能是它无法正常工作的原因。

    请上传最新的 SP 并告知我。

    1月