windows 下使用gopacket抓包获取网卡列表信息 - Go语言中文社区

windows 下使用gopacket抓包获取网卡列表信息


准备

  1. 安装gopacket
    go get github.com/google/gopacket/pcap
  2. 安装gcc
    http://tdm-gcc.tdragon.net/download下载gcc,配置gcc就不细说了

  3. 安装winpcapwinpcap develop package
    https://www.winpcap.org/devel.htm下载winpacp4.1.3和开发包4.1.2(没有4.1.3的开发包)

这里写图片描述
解压WpdPack_4_1_2.zip到 C:WpdPack,一定要这个目录,否则得修改go库里面的代码

测试

这段代码的功能是显示本设备的所有网卡设备信息

package main

import (
    "fmt"
    "log"

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

func main() {
    // Find all devices
    devices, err := pcap.FindAllDevs()
    if err != nil {
        log.Fatal(err)
    }

    // Print device information
    fmt.Println("Devices found:")
    for _, d := range devices {
        fmt.Println("nName: ", d.Name)
        fmt.Println("Description: ", d.Description)
        fmt.Println("Devices addresses: ", d.Description)

        for _, address := range d.Addresses {
            fmt.Println("- IP address: ", address.IP)
            fmt.Println("- Subnet mask: ", address.Netmask)
        }
    }
}

go run test.go

也可以使用getmac命令获取网卡的传输名称
这里写图片描述

警告

一定不要去这个地方去下载开发包,https://www.winpcap.org/archive/,搞不懂他这里面的版本,下了好几个都不对。

引用

https://blog.csdn.net/worldzhy/article/details/8234584
https://www.devdungeon.com/content/packet-capture-injection-and-analysis-gopacket
https://www.winpcap.org/devel.htm
https://godoc.org/github.com/google/gopacket

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/x356982611/article/details/80225295
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-13 12:06:45
  • 阅读 ( 2355 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢