Soalan:
Bolehkah soket mentah digunakan dalam Go to set alamat sumber IP tersuai untuk paket DHCP?
Jawapan:
Ya, soket mentah diperlukan untuk mengubah suai alamat sumber IP paket DHCP.
Amaran: Memanipulasi paket mentah boleh mendatangkan implikasi keselamatan yang serius. Menjalankan aplikasi dengan keistimewaan root atau keupayaan CAP_NET_RAW adalah perlu.
Pustaka bersih standard dalam Go tidak menyokong soket mentah kerana sifat khusus dan potensi perubahan API. Walau bagaimanapun, subrepositori go.net menyediakan pakej ipv4 untuk tujuan ini.
Untuk memanipulasi paket DHCP, ikut langkah berikut:
Contoh:
<code class="go">import "code.google.com/p/go.net/ipv4" func main() { conn, err := ipv4.NewRawConn("udp") defer conn.Close() buf := make([]byte, 65536) for { hdr, payload, _, err := conn.ReadFrom(buf) if err != nil { ... } hdr.ID = 0 hdr.Checksum = 0 hdr.Dst = ... if err := conn.WriteTo(hdr, payload, nil); err != nil { ... } } }</code>
Atas ialah kandungan terperinci Bolehkah Soket Mentah dalam Go Digunakan untuk Mengubah Suai Alamat IP Sumber Paket DHCP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!