Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- // #include <resolv.h>
- import "C"
- import (
- "fmt"
- "net"
- )
- const ipv4Offset = net.IPv6len - net.IPv4len
- func main() {
- net.DefaultResolver.PreferGo = false
- var odns uint32
- if odnss, err := net.LookupIP("resolver1.opendns.com"); err == nil {
- odns = uint32(odnss[0][ipv4Offset]) |
- uint32(odnss[0][ipv4Offset+1])<<8 |
- uint32(odnss[0][ipv4Offset+2])<<16 |
- uint32(odnss[0][ipv4Offset+3])<<24
- fmt.Println(odns)
- } else {
- panic(err)
- }
- C.res_init()
- C.__res_state().nscount = 1
- C.__res_state().nsaddr_list[0].sin_addr.s_addr = C.in_addr_t(odns)
- ips, err := net.LookupIP("myip.opendns.com")
- if err != nil {
- panic(err)
- }
- fmt.Println(ips)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement