diff options
| -rw-r--r-- | dns.go | 51 | ||||
| -rw-r--r-- | gui.go | 1 | ||||
| -rw-r--r-- | main.go | 4 | ||||
| -rw-r--r-- | unix.go | 15 |
4 files changed, 70 insertions, 1 deletions
@@ -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) + } +} @@ -83,6 +83,7 @@ func addDemoTab(window *gui.Node, title string) { }) g2.NewButton("DumpPublicDNSZone(apple.com)", func () { DumpPublicDNSZone("apple.com") + dumpIPs("www.apple.com") }) } @@ -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() @@ -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) + } +} |
