Categorygithub.com/malfunkt/iprange
modulepackage
0.9.0
Repository: https://github.com/malfunkt/iprange.git
Documentation: pkg.go.dev

# README

iprange

GoDoc license Build Status

iprange is a library you can use to parse IPv4 addresses from a string in the nmap format.

It takes a string, and returns a list of Min-Max pairs, which can then be expanded and normalized automatically by the package.

Supported Formats

iprange supports the following formats:

  • 10.0.0.1
  • 10.0.0.0/24
  • 10.0.0.*
  • 10.0.0.1-10
  • 10.0.0.1, 10.0.0.5-10, 192.168.1.*, 192.168.10.0/24

Usage

package main

import (
	"log"

	"github.com/malfunkt/iprange"
)

func main() {
	list, err := iprange.ParseList("10.0.0.1, 10.0.0.5-10, 192.168.1.*, 192.168.10.0/24")
	if err != nil {
		log.Printf("error: %s", err)
	}
	log.Printf("%+v", list)

	rng := list.Expand()
	log.Printf("%s", rng)
}

# Functions

Parse takes a single target specification and returns a range.
ParseList takes a list of target specifications and returns a list of ranges, even if the list contains a single element.

# Structs

No description provided by the author

# Type aliases

No description provided by the author