nettool

package
v0.1.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Cmd = &cli.Command{
	Category: "Misc",
	Name:     "netool",
	Usage:    "Net utils for IP/Port",
	Commands: []*cli.Command{

		{
			Category: "IP",
			Name:     "ip2oct",
			Aliases:  []string{"oct"},
			Usage:    "IPv4 -> Oct",
			Action: func(c *cli.Context) (err error) {
				ip := c.Args().First()
				if err := utils.ValidArg(ip, "ip"); err != nil {
					return err
				}
				r, err := IP2Oct(ip)
				if err != nil {
					return err
				}
				_, err = fmt.Println(r)
				return
			},
		},

		{
			Category: "IP",
			Name:     "ip2dec",
			Aliases:  []string{"dec"},
			Usage:    "IPv4 -> Dec",
			Action: func(c *cli.Context) (err error) {
				ip := c.Args().First()
				if err := utils.ValidArg(ip, "ip"); err != nil {
					return err
				}
				r, err := IP2Dec(ip)
				if err != nil {
					return err
				}
				_, err = fmt.Println(r)
				return
			},
		},

		{
			Category: "IP",
			Name:     "ip2hex",
			Aliases:  []string{"hex"},
			Usage:    "IPv4 -> Hex",
			Action: func(c *cli.Context) (err error) {
				ip := c.Args().First()
				if err := utils.ValidArg(ip, "ip"); err != nil {
					return err
				}
				r, err := IP2Hex(ip)
				if err != nil {
					return err
				}
				_, err = fmt.Println(r)
				return
			},
		},

		{
			Category: "IP",
			Name:     "ip2all",
			Aliases:  []string{"all"},
			Usage:    "IPv4 -> All {Hex|Dec|Oct|...}",
			Action: func(c *cli.Context) (err error) {
				ip := c.Args().First()
				if err := utils.ValidArg(ip, "ip"); err != nil {
					return err
				}
				r, err := IP2All(ip)
				if err != nil {
					return err
				}
				_, err = fmt.Println(r)
				return
			},
		},

		{
			Category: "IP",
			Name:     "hex2ip",
			Usage:    "Hex -> IPv4",
			Action: func(c *cli.Context) (err error) {
				if c.NArg() == 0 {
					return fmt.Errorf("invlid hex ip")
				}
				r, err := Hex2IP(c.Args().First())
				if err != nil {
					return err
				}
				_, err = fmt.Println(r)
				return
			},
		},

		{
			Category: "IP",
			Name:     "oct2ip",
			Usage:    "Oct -> IPv4",
			Action: func(c *cli.Context) (err error) {
				if c.NArg() == 0 {
					return fmt.Errorf("invlid oct ip")
				}
				r, err := Oct2IP(c.Args().First())
				if err != nil {
					return err
				}
				_, err = fmt.Println(r)
				return
			},
		},

		{
			Category: "IP",
			Name:     "dec2ip",
			Usage:    "Dec -> IPv4",
			Action: func(c *cli.Context) (err error) {
				if c.NArg() == 0 {
					return fmt.Errorf("invlid dec ip")
				}
				r, err := Dec2IP(c.Args().First())
				if err != nil {
					return err
				}
				_, err = fmt.Println(r)
				return
			},
		},

		{
			Category: "IP",
			Name:     "dec2ip",
			Usage:    "Any {Hex|Oct|Dec|...} -> IPv4",
			Action: func(c *cli.Context) (err error) {
				if c.NArg() == 0 {
					return fmt.Errorf("invlid special ip")
				}
				r, err := Dec2IP(c.Args().First())
				if err != nil {
					return err
				}
				_, err = fmt.Println(r)
				return
			},
		},

		{
			Category: "MAC",
			Name:     "mac2dec",
			Usage:    "MAC Address -> Dec",
			Action: func(c *cli.Context) (err error) {
				mac := c.Args().First()
				if err := utils.ValidArg(mac, "mac"); err != nil {
					return err
				}
				r, err := Mac2Dec(mac)
				if err != nil {
					return err
				}
				_, err = fmt.Println(r)
				return
			},
		},

		{
			Category: "MAC",
			Name:     "dec2mac",
			Usage:    "Dec -> MAC Address",
			Action: func(c *cli.Context) (err error) {
				if c.NArg() == 0 {
					return fmt.Errorf("invlid dec mac")
				}
				r, err := Dec2MAC(c.Args().First())
				if err != nil {
					return err
				}
				_, err = fmt.Println(r)
				return
			},
		},
	},
}

Functions

func AnyToIP

func AnyToIP(s string) (string, error)

func CheckPort

func CheckPort(port int) error

CheckPort -

func Dec2IP

func Dec2IP(s string) (string, error)

Dec2IP 2130706433 -> 127.0.0.1

func Dec2MAC

func Dec2MAC(s string) (string, error)

Dec2MAC -

func DotHex2IP

func DotHex2IP(s string) (string, error)

func DotOct2IP

func DotOct2IP(s string) (string, error)

func Hex2IP

func Hex2IP(s string) (string, error)

Hex2IP 0x7f000001 -> 127.0.0.1

func IP2All

func IP2All(s string) (string, error)

IP2All -

func IP2Dec

func IP2Dec(s string) (string, error)

IP2Dec 127.0.0.1 -> 2130706433

func IP2DotHex

func IP2DotHex(s string) (string, error)

IP2DotHex 127.0.0.1 -> 0x7f.0.0.0x1

func IP2DotOct

func IP2DotOct(s string) (string, error)

IP2DotOct 127.0.0.1 -> 0177.0.0.01

func IP2Hex

func IP2Hex(s string) (string, error)

IP2Hex 127.0.0.1 -> 0x7f000001

func IP2Oct

func IP2Oct(s string) (string, error)

IP2Oct 127.0.0.1 -> 2130706433

func Mac2Dec

func Mac2Dec(s string) (string, error)

MacToDec -

func Oct2IP

func Oct2IP(s string) (string, error)

Oct2IP 017700000001 -> 127.0.0.1

func ParseAddr

func ParseAddr(addr string) (string, int, error)

ParseAddr -

func ParseHost

func ParseHost(host string) (ips []string)

ParseHost 解析 Host 地址 192.168.1.1 192.168.1.1/24 192.168.1.1-8 192.168.1-20.8 192.168.1-20.1-8 192.168.3.1-5,192.168.1-20.1-12

func ParsePort

func ParsePort(portStr string) (ports []int)

ParsePort 解析端口 port,port1-port2,-port,... 80,8080,8000-8010,443

func ParseURLToHostAndURI

func ParseURLToHostAndURI(u string) (string, string, error)

ParseURLToHostAndURI [http/s://]domain/ip[:port]/uri -> host,uri,err

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL