diff --git a/dns.go b/dns.go new file mode 100644 index 0000000..017ffce --- /dev/null +++ b/dns.go @@ -0,0 +1,51 @@ +// Various Linux/Unix'y things + +// https://wiki.archlinux.org/title/Dynamic_DNS + +package main + +import ( +// "os" +// "os/exec" + "log" + "net" +// "git.wit.org/wit/gui" +// "github.com/davecgh/go-spew/spew" +) + +type IPtype struct { + // IP string + IPv4 bool + IPv6 bool + LinkLocal bool +} + +type Host struct { + Name string + domainname string + hostname string + fqdn string + ips map[string]*IPtype +} + +/* + Check a bunch of things. If they don't work right, then things are not correctly configured + They are things like: + /etc/hosts + hostname + hostname -f + domainname +*/ +func (h *Host) verifyETC() bool { + return true +} + +func (h *Host) updateIPs(host string) { + ips, err := net.LookupIP(host) + if err != nil { + log.Fatal(err) + } + for _, ip := range ips { + log.Println(host, ip) + } +} diff --git a/gui.go b/gui.go index 3b6270c..732a7b3 100644 --- a/gui.go +++ b/gui.go @@ -83,6 +83,7 @@ func addDemoTab(window *gui.Node, title string) { }) g2.NewButton("DumpPublicDNSZone(apple.com)", func () { DumpPublicDNSZone("apple.com") + dumpIPs("www.apple.com") }) } diff --git a/main.go b/main.go index 29c8829..1d4d4df 100644 --- a/main.go +++ b/main.go @@ -9,11 +9,15 @@ import ( arg "github.com/alexflint/go-arg" ) +var me Host + func main() { arg.MustParse(&args) // fmt.Println(args.Foo, args.Bar, args.User) log.Println("Toolkit = ", args.Toolkit) + me.ips = make(map[string]*IPtype) + // gui.InitPlugins([]string{"andlabs"}) scanInterfaces() diff --git a/unix.go b/unix.go index b953c60..3cebd40 100644 --- a/unix.go +++ b/unix.go @@ -1,4 +1,7 @@ -// This creates a simple hello world window +// Various Linux/Unix'y things + +// https://wiki.archlinux.org/title/Dynamic_DNS + package main import ( @@ -39,3 +42,13 @@ func DumpPublicDNSZone(zone string) { log.Println(entry) } } + +func dumpIPs(host string) { + ips, err := net.LookupIP(host) + if err != nil { + log.Fatal(err) + } + for _, ip := range ips { + log.Println(host, ip) + } +}