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
995 Java : Random alphabets, alpha-numeric or numbers only string generator
+1.7k Facebook : How to place save to Facebook button on your website
+2k Javascript : Put image into Chrome browser's console
+7.7k Golang : Find file size(disk usage) with filepath.Walk
+2.1k Golang : Generate Interleaved 2 inch by 5 inch barcode
+13.3k Golang : Daemonizing a simple web server process example
+2.2k JavaScript: Add marker function on Google Map
+9.8k Golang : Get sub string example
+3.2k Golang : Add build version and other information in executables
+4.2k Golang : Natural string sorting example
+4.7k Swift : Convert (cast) String to Double
953 Golang : How to pass data between controllers with JSON Web Token