Go ialah bahasa pengaturcaraan merentas platform dengan perpustakaan pengaturcaraan rangkaian yang berkuasa yang boleh memenuhi pelbagai keperluan pengaturcaraan rangkaian. Dalam aplikasi praktikal, kita sering perlu mengawal antara muka rangkaian, seperti menetapkan alamat IP kad rangkaian, alamat MAC, dsb. Artikel ini akan memperkenalkan cara menyediakan kad rangkaian menggunakan bahasa Go.
Dalam bahasa Go, anda boleh mendapatkan semua maklumat kad rangkaian dalam sistem melalui struktur net.Interface
. Di bawah ialah contoh kod ringkas yang mencetak semua nama kad rangkaian dan alamat MAC dalam sistem.
package main import ( "fmt" "net" ) func main() { interfaces, err := net.Interfaces() if err != nil { panic(err) } for _, itf := range interfaces { fmt.Printf("Name: %s\n", itf.Name) fmt.Printf("MAC address: %s\n", itf.HardwareAddr) } }
Untuk menetapkan alamat IP kad rangkaian, anda perlu menggunakan kaedah net
dan InterfaceAddrs()
dalam ParseCIDR()
perpustakaan. Di bawah ialah contoh kod mudah untuk menetapkan alamat IP kad rangkaian en0 kepada 192.168.1.100/24.
package main import ( "fmt" "net" ) func main() { iface, err := net.InterfaceByName("en0") if err != nil { panic(err) } addr, err := net.ParseCIDR("192.168.1.100/24") if err != nil { panic(err) } err = iface.Addrs() if err != nil { panic(err) } err = netlink.AddrAdd(iface, addr) if err != nil { panic(err) } fmt.Println("IP address set successfully") }
Untuk menetapkan alamat MAC kad rangkaian, anda perlu menggunakan kaedah netlink
dalam pustaka SetHardwareAddr()
. Di bawah ialah contoh kod mudah untuk menetapkan alamat MAC kad rangkaian en0 kepada 00:11:22:33:44:55.
package main import ( "fmt" "net" "github.com/vishvananda/netlink" ) func main() { iface, err := net.InterfaceByName("en0") if err != nil { panic(err) } link, err := netlink.LinkByName(iface.Name) if err != nil { panic(err) } macAddr, err := net.ParseMAC("00:11:22:33:44:55") if err != nil { panic(err) } err = netlink.LinkSetHardwareAddr(link, macAddr) if err != nil { panic(err) } fmt.Println("MAC address set successfully") }
Melalui contoh kod di atas, kita dapat melihat bahawa menetapkan alamat IP kad rangkaian dan alamat MAC dalam bahasa Go adalah sangat mudah. Ini menggambarkan sepenuhnya keupayaan pengaturcaraan rangkaian yang berkuasa bagi bahasa Go dan membantu pembangun mengawal dan mengurus antara muka rangkaian dengan lebih mudah.
Atas ialah kandungan terperinci Analisis ringkas tentang cara menyediakan kad rangkaian dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!