Documentation
¶
Index ¶
- func FormatIPv4WithMask(ip net.IP, maskInt int) string
- func GetDefaultIPv4() (net.IP, error)
- func GetDefaultIPv4String() (string, error)
- func GetDefaultNetworkInfo() (map[string]interface{}, error)
- func IsPrivateIP(ip net.IP) bool
- func SliceRemoveValueIP(l []net.IP, value net.IP) []net.IP
- type Eth
- func (e *Eth) CheckGatewayOnline(gwIP net.IP) (bool, float64, error)
- func (e *Eth) GetDefaultGateway() (*Gateway, error)
- func (e *Eth) GetDefaultInterface() (*net.Interface, error)
- func (e *Eth) GetEthDNS(eth string) ([]net.IP, error)
- func (e *Eth) GetEthInfo(eth string) (*Info, error)
- func (e *Eth) GetEthInfoV4(eth string) (*Info, error)
- func (e *Eth) GetEthList() []string
- func (e *Eth) GetEthListInfo()
- func (e *Eth) GetGateway(eth string) (*Gateway, error)
- type Gateway
- type Info
- type Ip6Info
- type IpInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FormatIPv4WithMask ¶ added in v1.6.0
FormatIPv4WithMask 格式化IPv4地址和掩码
参数:
ip: IPv4地址 maskInt: 掩码长度(如24表示255.255.255.0)
返回值:
string: 格式化后的IP和掩码,例如"192.168.1.1/255.255.255.0"
func GetDefaultIPv4 ¶ added in v1.6.0
GetDefaultIPv4 获取本机默认网络接口的IPv4地址
返回值:
net.IP - 默认网卡的IPv4地址 error - 如果发生错误,则返回错误信息,否则返回nil
func GetDefaultIPv4String ¶ added in v1.6.0
GetDefaultIPv4String 获取本机默认网络接口的IPv4地址字符串表示
返回值:
string - 默认网卡的IPv4地址字符串 error - 如果发生错误,则返回错误信息,否则返回nil
func GetDefaultNetworkInfo ¶ added in v1.6.0
GetDefaultNetworkInfo 获取本机默认网络接口的完整网络信息
返回值:
map[string]interface{} - 包含网卡名称、IP地址、MAC地址、子网掩码、网关、DNS等信息的映射
error - 如果发生错误,则返回错误信息,否则返回nil
func IsPrivateIP ¶ added in v1.6.0
IsPrivateIP 检查IP是否为私有IP地址
私有IP地址包括: - 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 - 169.254.0.0/16 (链路本地地址)
参数:
ip: 要检查的IP地址
返回值:
bool: 如果是私有IP地址返回true,否则返回false
Types ¶
type Eth ¶
type Eth struct {
Info []Info `json:"info"` // Info 字段是一个 Info 类型的切片,用于存储网卡信息列表。
Err error `json:"err"` // Err 字段用于存储在获取网卡信息过程中可能发生的错误。
Debug bool `json:"debug"` // Debug 字段用于控制是否输出调试信息。
}
Eth 结构体用于封装网卡信息和错误信息。 它包含两个字段:网卡信息列表和错误信息。
func NewEth ¶
NewEth 创建并初始化一个新的 Eth 实例。 参数:
debug - 指示是否启用调试模式的布尔值。如果为 true,Eth 实例将运行在调试模式下;
如果为 false,则运行在正常模式下。
返回值:
*eth.Eth - 返回一个指向 eth.Eth 类型的指针,表示初始化后的 Eth 实例。
func (*Eth) CheckGatewayOnline ¶ added in v1.6.3
CheckGatewayOnline 检查指定网关IP是否在线,并返回丢包率 返回: online(是否在线)、lossRate(丢包率百分比)、err
func (*Eth) GetDefaultGateway ¶ added in v1.8.4
GetDefaultGateway 获取系统默认网关 返回: Gateway结构体指针和错误信息
func (*Eth) GetDefaultInterface ¶ added in v1.6.3
GetDefaultInterface 获取当前系统用于连接默认路由的网络接口 该方法通过创建一个虚拟的UDP连接(目标为公共DNS服务器),利用系统路由表确定默认出口网卡 返回: 成功返回网络接口指针,失败返回错误信息
func (*Eth) GetEthDNS ¶
GetEthDNS 获取以太网的DNS配置。 该方法根据当前操作系统的类型调用相应的DNS获取方法。 参数:
eth - 以太网接口名称。
返回值:
一个net.IP切片,包含DNS服务器地址。 如果操作系统不支持或发生错误,则返回错误。
func (*Eth) GetEthInfoV4 ¶ added in v1.5.7
GetEthInfoV4 获取指定网卡的IPv4信息。 参数:
eth string - 网卡名称。
返回值:
*Info - 包含网卡信息的结构体指针。 error - 如果发生错误,则返回错误信息,否则返回nil
func (*Eth) GetEthList ¶
GetEthList 获取当前系统中所有正在使用的网络接口名称列表。 该函数通过查询系统中的网络接口信息,筛选出所有处于激活状态(即接口标志中包含FlagUp)的网络接口, 并将其名称添加到一个字符串列表中,最后返回该列表。 如果在获取网络接口信息时发生错误,函数将直接返回nil。
func (*Eth) GetEthListInfo ¶
func (e *Eth) GetEthListInfo()
GetEthListInfo 获取所有网卡的信息 该函数通过调用 GetEthList 和 GetEthInfo 方法获取所有网卡的信息。 通过 Info 字段记录所有网卡的信息。
type Info ¶
type Info struct {
Name string `json:"name" ` // 网卡名称,例如 eth0
Mac string `json:"mac"` // 网卡mac,例如 00:00:00:00:00:00
Ip []IpInfo `json:"ip"` // 网卡ip列表, 例如 ["192.168.1.1"]
Ip6Info []Ip6Info `json:"ip6Info"` // IPv6基础信息
Sub net.IP `json:"sub"` // 网段, 例如 192.168.1.0
Mask net.IP `json:"mask"` // 网卡掩码, 例如 255.255.255.0
DnsList []net.IP `json:"dnsList"` // DNS列表
Version int `json:"version"` // IP版本, 例如 4
}
func GetDefaultIPInfo ¶ added in v1.6.0
GetDefaultIPInfo 获取本机默认网络接口的IP信息
该函数通过以下步骤获取本机默认IP信息: 1. 获取系统默认网络接口 2. 获取该接口的IPv4地址信息
返回值:
*Info - 包含默认网卡信息的结构体指针 error - 如果发生错误,则返回错误信息,否则返回nil