我的目标是确定由于防火墙/连接问题或侦听器故障,使用net.Dial建立的TCP连接失败(不一定是net.Dial)是否失败。
所以本质上,我希望看到与tcptraceroute类似的东西。
另外,最好弄清楚哪个网络接口(本地地址)用于连接失败
conn, err := net.Dial("tcp", hostName + ":" + portNum)
if err != nil {
// is it possible to have socket values here
// maybe the last succesful hop before the connection failed?
}
// on succesfull conn it is straightforward
conn.LocalAddr()
conn.RemoteAddr()