Golang : Find network of an IP address
We will learn how to use Golang's net
package to find out the network behind an IP address. It is fairly trivial to do so with Go and below is the source code.
findnetwork.go
package main
import (
"fmt"
"net"
"os"
)
func main() {
if len(os.Args) != 2 {
fmt.Fprintf(os.Stderr, "Usage: %s hostname\n", os.Args[0])
os.Exit(1)
}
hostname := os.Args[1]
IPAddr, err := net.ResolveIPAddr("ip", hostname)
if err != nil {
fmt.Println("Error in resolving IP")
os.Exit(1)
}
addr := net.ParseIP(IPAddr.String())
if addr == nil {
fmt.Println("Invalid address")
os.Exit(1)
}
mask := addr.DefaultMask()
network := addr.Mask(mask)
fmt.Printf("Address : %s \n Network : %s \n", addr.String(), network.String())
}
Sample output :
localhost:~ admin$ ./findnetwork www.nytimes.com
Address : 170.149.172.130
Network : 170.149.0.0
localhost:~ admin$ ./findnetwork www.techcrunch.com
Address : 192.0.83.250
Network : 192.0.83.0
localhost:~ admin$ ./findnetwork www.google.com
Address : 74.125.130.104
Network : 74.0.0.0
localhost:~ admin$ ./findnetwork www.yahoo.com
Address : 106.10.139.246
Network : 106.0.0.0
Reference :
See also : Get client IP Address in Go
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+41.9k Golang : How do I convert int to uint8?
+18.7k Golang : Get download file size
+9.5k Golang : Accessing content anonymously with Tor
+7k Golang : How to setup a disk space used monitoring service with Telegram bot
+12k Golang : Convert a rune to unicode style string \u
+11.6k Golang : Fuzzy string search or approximate string matching example
+8.8k Golang : Take screen shot of browser with JQuery example
+21.7k Golang : Encrypt and decrypt data with TripleDES
+9.5k Android Studio : Indicate progression with ProgressBar example
+5.5k Clean up Visual Studio For Mac installation failed disk full problem
+7.6k SSL : How to check if current certificate is sha1 or sha2 from command line
+9.4k Golang : Terminate-stay-resident or daemonize your program?