From a7b7373b98fbe6f224caafb9c08cf19f98411260 Mon Sep 17 00:00:00 2001 From: Wonder Date: Fri, 17 Oct 2025 22:15:22 +0800 Subject: [PATCH] =?UTF-8?q?=20=F0=9F=94=84Update:=20Lecture-2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lec-2/Note.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++ Lec-2/go.mod | 7 ++++++ Lec-2/go.sum | 18 ++++++++++++++++ Lec-2/main.go | 27 +++++++++++++++++++++++ 4 files changed, 111 insertions(+) create mode 100644 Lec-2/Note.md create mode 100644 Lec-2/go.mod create mode 100644 Lec-2/go.sum create mode 100644 Lec-2/main.go diff --git a/Lec-2/Note.md b/Lec-2/Note.md new file mode 100644 index 0000000..6a7c797 --- /dev/null +++ b/Lec-2/Note.md @@ -0,0 +1,59 @@ +# gopacket + +- Output + +```text +Device Found: + +[Name] \Device\NPF_{5D7E304A-D8A0-409D-9B79-FCBF3094430E} +[Description] WAN Miniport (Network Monitor) +[Devices addresses] WAN Miniport (Network Monitor) + +[Name] \Device\NPF_{26F7DD48-D955-49A1-9B5C-DD22B7158790} +[Description] WAN Miniport (IPv6) +[Devices addresses] WAN Miniport (IPv6) + +[Name] \Device\NPF_{6B5244B1-10B5-4A8B-AF52-278F4AD10E8D} +[Description] WAN Miniport (IP) +[Devices addresses] WAN Miniport (IP) + +[Name] \Device\NPF_{074D1C0E-6756-4434-B6E6-46CBB85FB9A2} +[Description] Intel(R) Wi-Fi 6E AX210 160MHz +[Devices addresses] Intel(R) Wi-Fi 6E AX210 160MHz +- IP address 10.15.36.48 +- Subnet mask ffff8000 +- IP address fe80::6977:6ab9:11ef:b19a +- Subnet mask ffffffffffffffff0000000000000000 + +[Name] \Device\NPF_{D9EF368E-3DD2-4A6E-BBE2-F3FD06C866A2} +[Description] Microsoft Wi-Fi Direct Virtual Adapter #2 +[Devices addresses] Microsoft Wi-Fi Direct Virtual Adapter #2 +- IP address 169.254.231.224 +- Subnet mask ffff0000 +- IP address fe80::3586:cb57:8b91:d4b1 +- Subnet mask ffffffffffffffff0000000000000000 + +[Name] \Device\NPF_{CB20D4D2-2B5E-49D9-95BB-CEF9B93C3294} +[Description] Microsoft Wi-Fi Direct Virtual Adapter +[Devices addresses] Microsoft Wi-Fi Direct Virtual Adapter +- IP address 169.254.204.73 +- Subnet mask ffff0000 +- IP address fe80::9c6c:a97c:bb73:4265 +- Subnet mask ffffffffffffffff0000000000000000 + +[Name] \Device\NPF_Loopback +[Description] Adapter for loopback traffic capture +[Devices addresses] Adapter for loopback traffic capture +- IP address ::1 +- Subnet mask ffffffffffffffffffffffffffffffff +- IP address 127.0.0.1 +- Subnet mask ff000000 + +[Name] \Device\NPF_{535D33D7-1664-4E8D-BB14-717F32A8BF70} +[Description] Realtek Gaming 2.5GbE Family Controller +[Devices addresses] Realtek Gaming 2.5GbE Family Controller +- IP address 169.254.102.159 +- Subnet mask ffff0000 +- IP address fe80::d10a:9e68:7f56:2432 +- Subnet mask ffffffffffffffff0000000000000000 +``` \ No newline at end of file diff --git a/Lec-2/go.mod b/Lec-2/go.mod new file mode 100644 index 0000000..cf7de31 --- /dev/null +++ b/Lec-2/go.mod @@ -0,0 +1,7 @@ +module Lec-2 + +go 1.25 + +require github.com/google/gopacket v1.1.19 + +require golang.org/x/sys v0.37.0 // indirect diff --git a/Lec-2/go.sum b/Lec-2/go.sum new file mode 100644 index 0000000..8f2204d --- /dev/null +++ b/Lec-2/go.sum @@ -0,0 +1,18 @@ +github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8= +github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ= +golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/Lec-2/main.go b/Lec-2/main.go new file mode 100644 index 0000000..93a35b9 --- /dev/null +++ b/Lec-2/main.go @@ -0,0 +1,27 @@ +package main + +import ( + "fmt" + "log" + + "github.com/google/gopacket/pcap" +) + +func main() { + devices, err := pcap.FindAllDevs() + if err != nil { + log.Fatal(err) + } + // Print: Device + fmt.Println("Device Found: ") + for _, device := range devices { + fmt.Println("\n[Name] ", device.Name) + fmt.Println("[Description] ", device.Description) + fmt.Println("[Devices addresses] ", device.Description) + for _, address := range device.Addresses { + fmt.Println("- IP address", address.IP) + fmt.Println("- Subnet mask", address.Netmask) + } + } + +}