是否可以获取tcp网络失败的最后一跳的地址。拨号?

时间:2019-03-30 20:25:49

标签: go tcp

我的目标是确定由于防火墙/连接问题或侦听器故障,使用net.Dial建立的TCP连接失败(不一定是net.Dial)是否失败。

所以本质上,我希望看到与tcptraceroute类似的东西。

  1. 超时(最后一个IP是什么)
  2. 在dst上打开/关闭端口

另外,最好弄清楚哪个网络接口(本地地址)用于连接失败

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()

0 个答案:

没有答案