netutil

package
v1.4.4-alpha1202-loadi... Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2025 License: AGPL-3.0 Imports: 16 Imported by: 18

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DarwinGetawayExtractorRe   = regexp2.MustCompile(`gateway: ([\[\]0-9a-fA-TaskFunc:\.]+)`, regexp2.IgnoreCase|regexp2.Multiline)
	DarwinInterfaceExtractorRe = regexp2.MustCompile(`interface: ([^\s]+)`, regexp2.IgnoreCase|regexp2.Multiline)
)
View Source
var Exports = map[string]any{

	"AddIPRouteToNetInterface":      AddIPRouteToNetInterface,
	"DeleteIPRoute":                 DeleteIPRoute,
	"DeleteIPRouteFromNetInterface": DeleteIPRouteFromNetInterface,

	"AddSpecificIPRouteToNetInterface":      AddSpecificIPRouteToNetInterface,
	"DeleteSpecificIPRoute":                 DeleteSpecificIPRoute,
	"BatchAddSpecificIPRouteToNetInterface": BatchAddSpecificIPRouteToNetInterface,
	"BatchDeleteSpecificIPRoute":            BatchDeleteSpecificIPRoute,
	"DeleteAllRoutesForInterface":           DeleteAllRoutesForInterface,
}

Functions

func AddIPRouteToNetInterface

func AddIPRouteToNetInterface(ipOrIPAddrs any, ifaceName string) error

AddIPRouteToNetInterface 添加IP路由到网络接口 支持单个IP(string)或多个IP([]string 或任何可转换的切片类型) ipOrIPAddrs: IP地址,支持 string、[]string 或通过 InterfaceToStringSlice 转换的类型 ifaceName: 网络接口名称

func AddSpecificIPRouteToNetInterface

func AddSpecificIPRouteToNetInterface(ipStr string, interfaceName string) error

AddSpecificIPRouteToNetInterface 添加单个IP到特定网络接口的路由(仅支持 macOS)

func BatchAddSpecificIPRouteToNetInterface

func BatchAddSpecificIPRouteToNetInterface(ipList []string, interfaceName string) (success []string, failed map[string]error)

BatchAddSpecificIPRouteToNetInterface 批量添加多个IP到特定网络接口的路由(仅支持 macOS)

func BatchDeleteSpecificIPRoute

func BatchDeleteSpecificIPRoute(ipList []string) (success []string, failed map[string]error)

BatchDeleteSpecificIPRoute 批量删除多个IP的路由(仅支持 macOS)

func DeleteAllRoutesForInterface

func DeleteAllRoutesForInterface(interfaceName string) (success []string, failed map[string]error, err error)

DeleteAllRoutesForInterface 删除特定网络接口的所有/32主机路由(仅支持 macOS)

func DeleteIPRoute

func DeleteIPRoute(ipOrIPAddrs any) error

DeleteIPRoute 删除IP路由 支持单个IP(string)或多个IP([]string 或任何可转换的切片类型) ipOrIPAddrs: IP地址,支持 string、[]string 或通过 InterfaceToStringSlice 转换的类型

func DeleteIPRouteFromNetInterface

func DeleteIPRouteFromNetInterface(ifaceName string) error

DeleteIPRouteFromNetInterface 删除网络接口的所有/32主机路由 ifaceName: 网络接口名称

func DeleteSpecificIPRoute

func DeleteSpecificIPRoute(ipStr string) error

DeleteSpecificIPRoute 删除单个IP的路由(仅支持 macOS)

func FindInterfaceByIP

func FindInterfaceByIP(ip string) (net.Interface, error)

func GetPublicHost

func GetPublicHost() (net.IP, error)

func GetPublicRoute added in v1.2.5

func GetPublicRoute() (*net.Interface, net.IP, net.IP, error)

func GetPublicRouteIfaceName

func GetPublicRouteIfaceName() (string, error)

func IsPrivateIPString

func IsPrivateIPString(target string) bool

func Route

func Route(timeout time.Duration, target string) (iface *net.Interface, gateway, preferredSrc net.IP, err error)

Types

type GrokResult

type GrokResult map[string][]string

func Grok

func Grok(line string, rule string) GrokResult

func (GrokResult) Get

func (g GrokResult) Get(key string) string

func (GrokResult) GetAll

func (g GrokResult) GetAll(key string) []string

func (GrokResult) GetOr

func (g GrokResult) GetOr(key string, value string) string

Directories

Path Synopsis
Originally found in https://github.com/gopacket/gopacket/blob/master/routing/routing.go
Originally found in https://github.com/gopacket/gopacket/blob/master/routing/routing.go
examples command

Jump to

Keyboard shortcuts

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