1
我知道我可以使用net.DialTimeout来检查主机是否可访问。但是,使用这种方法,我不能指定接口或拿回接口与主机达成的,据我所知检查主机是否可以在特定的网络接口上访问
我期待坪-I标志的功能,如
平 - 我的eth0 www.google.se
,但宁愿不诉诸exec.Command保持平台的兼容性
我知道我可以使用net.DialTimeout来检查主机是否可访问。但是,使用这种方法,我不能指定接口或拿回接口与主机达成的,据我所知检查主机是否可以在特定的网络接口上访问
我期待坪-I标志的功能,如
平 - 我的eth0 www.google.se
,但宁愿不诉诸exec.Command保持平台的兼容性
您可以使用interfaceByName
方法提到here。我只是很快把示例代码
func main() {
eth0, err := net.InterfaceByName("eth0")
if err != nil {
fmt.Println(err)
}
adds, err := eth0.Addrs()
if err != nil {
fmt.Println(err)
}
tcpAddr := &net.TCPAddr{
IP: adds[0].(*net.IPNet).IP,
}
d := net.Dialer{LocalAddr: tcpAddr, Timeout: time.Second * 60}
_, err = d.Dial("tcp", "www.google.se")
if err != nil {
fmt.Println(err)
}
}