Rumah  >  Artikel  >  pembangunan bahagian belakang  >  golang net padam kad rangkaian

golang net padam kad rangkaian

PHPz
PHPzasal
2023-05-09 19:16:35620semak imbas

Di Golang, kita boleh menggunakan pakej bersih untuk berinteraksi dengan rangkaian. Walaupun pakej bersih menyediakan pelbagai fungsi, dalam beberapa kes, kita perlu memadam kad rangkaian sedia ada. Artikel ini akan memperkenalkan cara menggunakan pakej bersih untuk memadam kad rangkaian di Golang.

Pertama, kita perlu mengimport pakej bersih dan mendapatkan maklumat antara muka rangkaian. Kod khusus adalah seperti berikut:

package main

import (
    "fmt"
    "net"
)

func main() {
    interfaces, err := net.Interfaces()
    if err != nil {
        panic(err)
    }
    fmt.Println(interfaces)
}

Dalam kod di atas, kami menggunakan net.Interfaces() untuk mendapatkan maklumat semua antara muka rangkaian dan mencetaknya. Seterusnya, kita perlu mencari kad rangkaian yang ingin kita alih keluar. Kita boleh mencari kad rangkaian yang perlu dipadamkan dengan merentasi maklumat antara muka rangkaian. Kod sampel adalah seperti berikut:

package main

import (
    "fmt"
    "net"
)

func main() {
    interfaces, err := net.Interfaces()
    if err != nil {
        panic(err)
    }

    for _, iface := range interfaces {
        if iface.Name == "en0" {
            fmt.Println("Found interface:", iface.Name)
        }
    }
}

Dalam kod di atas, kami merentasi semua maklumat antara muka rangkaian dan menggunakan pernyataan if untuk menentukan sama ada kad rangkaian yang perlu dipadamkan ditemui. Katakan kita ingin memadam kad rangkaian en0, kita boleh mencari kad rangkaian ini dan mencetaknya.

Kini, kami telah menemui kad rangkaian yang ingin kami padamkan. Seterusnya, kita perlu menggunakan pakej netlink untuk mengalih keluar kad rangkaian ini. Kod khusus adalah seperti berikut:

package main

import (
    "fmt"

    "github.com/vishvananda/netlink"
)

func main() {
    en0, err := netlink.LinkByName("en0")
    if err != nil {
        panic(err)
    }

    err = netlink.LinkDel(en0)
    if err != nil {
        panic(err)
    }

    fmt.Println("Interface", en0.Attrs().Name, "deleted")
}

Dalam kod di atas, kami menggunakan netlink.LinkByName() untuk mencari kad rangkaian yang hendak dipadamkan dan menggunakan netlink.LinkDel() untuk memadamkannya. Akhir sekali, kami mencetak maklumat pemadaman yang berjaya.

Perlu diingatkan bahawa kita perlu mengimport pakej github.com/vishvananda/netlink untuk menggunakan fungsi netlink.

Ringkasnya, memadam kad rangkaian di Golang memerlukan langkah berikut:

  1. Import pakej net dan netlink
  2. Gunakan
  3. untuk mendapatkan semua maklumat antara muka Rangkaian; net.Interfaces()
  4. merentasi semua maklumat antara muka rangkaian dan mencari kad rangkaian yang perlu dipadamkan; >
  5. gunakan
  6. untuk memadamkannya kad rangkaian.
  7. netlink.LinkByName()
  8. Saya harap artikel ini dapat membantu pembaca berjaya memadamkan kad rangkaian di Golang.

Atas ialah kandungan terperinci golang net padam kad rangkaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn