首页 > 后端开发 > Golang > 正文

Windows 上的 802.11 数据包嗅探错误 - gopacket

WBOY
发布: 2024-02-08 22:00:36
转载
1164 人浏览过

Windows 上的 802.11 数据包嗅探错误 - gopacket

php小编百草为大家带来了关于Windows上的802.11数据包嗅探错误的解决方法。在使用gopacket进行数据包嗅探时,可能会遇到一些问题。本文将针对这些问题进行详细的分析和解决方案的介绍,帮助读者更好地进行数据包嗅探工作。无论是初学者还是有经验的开发者,都可以从本文中获得有用的技巧和知识,提高在Windows上进行数据包嗅探的效率和准确性。

问题内容

这是代码:

package main

import (
    "fmt"
    "github.com/google/gopacket"
    "github.com/google/gopacket/pcap"
)

func main() {
    handle, err := pcap.OpenLive("\\Device\\NPF_{d6194530-0e27-4c84-b489-2cfe18d4af24}", 65536, true, pcap.BlockForever)
    if err != nil {
        fmt.Println(err)
    }
        defer handle.Close()

    packets := gopacket.NewPacketSource(handle, handle.LinkType())
    for packet := range packets.Packets() {
        fmt.Println(packet)
    }
}
登录后复制

我有一台启用了网卡监控的计算机和windows,使用wireshark或scapy(使用monitor = true)我可以嗅探数据包,但不能使用gopacket。 我开始使用“wlanhelper“wi-fi”模式监视器”启用监视器模式,它返回“成功”,当我运行代码时没有任何错误。 嗅探仅在我不处于监视模式或嗅探环回时才起作用。 显然没有像 scapy 这样在 gopacket 上启用监视模式的功能,我不知道。 请帮助我

给我在gopacketwindows)中启用监控模式的解决方案

解决方法

是否调用(*inactivehandle)。 setrfmon 参数 true 适合你吗?

package main

import (
    "fmt"

    "github.com/google/gopacket"
    "github.com/google/gopacket/pcap"
)

func main() {
    inactive, err := pcap.NewInactiveHandle("\\Device\\NPF_{d6194530-0e27-4c84-b489-2cfe18d4af24}")
    if err != nil {
        panic(err)
    }
    defer inactive.CleanUp()

    // Call various functions on inactive to set it up the way you'd like:
    must(inactive.SetRFMon(true))
    must(inactive.SetSnapLen(65536))
    must(inactive.SetPromisc(true))
    must(inactive.SetTimeout(pcap.BlockForever))

    // Finally, create the actual handle by calling Activate:
    handle, err := inactive.Activate() // after this, inactive is no longer valid
    if err != nil {
        panic(err)
    }
    defer handle.Close()

    packets := gopacket.NewPacketSource(handle, handle.LinkType())
    for packet := range packets.Packets() {
        fmt.Println(packet)
    }
}

func must(err error) {
    if err != nil {
        panic(err)
    }
}
登录后复制

以上是Windows 上的 802.11 数据包嗅探错误 - gopacket的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!