【问题标题】:How to put NIC into promiscuous mode?如何让网卡进入混杂模式?
【发布时间】:2016-03-09 08:26:17
【问题描述】:

嗨 我想将我的 NIC 置于混杂模式。为什么? 因为我编写的应用程序有可能检测到我本地网络中的嗅探(发送经过适当修改的以太网数据包)。我现在只想检查一下,所以在我的第二个组合中我想设置 promisc 模式。 有 Windows 7 和 Dell Wireless 1397 WLAN Mini-Card...如果它有所作为的话。

我该怎么做?

【问题讨论】:

    标签: security windows-7 networking network-programming sniffing


    【解决方案1】:

    您可能无法将该适配器置于混杂模式。这是 Windows,适配器是 Wi-Fi 适配器,并且根据this Microsoft documentation on 802.11 drivers on Windows,“如果驱动程序在网络监视器中运行,则只有微型端口驱动程序启用 NDIS_PACKET_TYPE_PROMISCUOUS、NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT 或 NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL 数据包过滤器才有效(NetMon) 或可扩展接入点 (AP) 模式。”

    如果您的应用程序使用 WinPcap(例如 Wireshark),它不能将驱动程序置于“网络监视器”模式,因为 WinPcap 目前不支持(因为它的内核驱动程序不支持版本6 网络驱动程序的 NDIS 接口),因此遵循 Microsoft 建议的驱动程序将不允许您将接口置于混杂模式。

    如果它可以将其置于监控模式,那可能会禁用传输数据包;根据this Microsoft page on monitor mode,“在 NetMon 模式下,微型端口驱动程序只能接收基于当前数据包过滤器设置的数据包。驱动程序不能单独发送数据包,也不能通过调用其 MiniportSendNetBufferLists函数。”

    【讨论】:

      【解决方案2】:

      我过去曾用wireshark 处理这类事情

      【讨论】:

      • 我误解了这个问题,wireshark 是要走的路
      • 是的,我试过这个,但是……错了。我在笔记本电脑上检查了“以混杂模式捕获数据包”选项,然后我从 PC 发送修改后的 ICMP 请求(以更正 IP 但不正确的 MAC 地址)。这是在本地网络中检测嗅探的方法之一。据我所知,如果网卡处于混杂模式,它应该发送 ICMP 回复。但是没有回复。有什么想法吗?
      • IP 是 MAC 之上的一层(分别参见 OSI 模型的第 3 层和第 2 层) - 最后,如果您的 MAC 错误,数据链路层将不会将其传递给网络层。 ICMP 位于网络层,因此它从未收到您的 ICMP 请求。
      • 不,我错了。您说的是“正常”情况,但如果 NIC 处于混杂模式,它应该发送答案。阅读有关 Ping 测试的信息,例如 napolifirewall.com/Sniffers.htmlinux-sec.net/Sniffer.Detectors/snifferdetection.pdf 但如果是这样,那么我不知道为什么我的 PC 上没有得到这个答案
      • 我不知道为什么,wireshark 可以在我的 PC 上运行,但不能在笔记本电脑上运行。如果笔记本正在列出并发送请求 - PC 正在应答,但反之则不起作用。有什么想法吗?
      猜你喜欢
      • 2020-04-23
      • 1970-01-01
      • 1970-01-01
      • 2011-08-17
      • 2012-03-18
      • 1970-01-01
      • 2011-01-21
      • 2021-10-04
      • 1970-01-01
      相关资源
      最近更新 更多