如何知道一台计算机使用哪个静态IP地址连接到另一台计算机?

我有一个工作站连接到几个内部networking,每个都有不同的静态IP地址。 通过这些networking中的一个(?),我可以通过ssh连接到服务器。 如何知道我的工作站的哪个IP地址用于连接到服务器? 就我所知,两台计算机之间没有NAT。

在Linux机器上,您可以find将用于与ip route get $destination_ip连接的源IP

这是与下一跳直接相连的接口的主IP地址。

通过ssh

 server$ echo $SSH_CLIENT 1234:5678:90a:bc::805f:c436 58642 22 server$ 

如果您使用的是Windows,请使用源计算机上的tracert <destination IP>来查find达目的地的路由。

您可以使用traceroute并查看它从哪个IP进入。 或者在服务器检查完毕后:

 who am i 

最后一个字段是您的IP或fqdn,如果它有反向DNS条目。

另一个select是,在您的服务器ssh'ing之后,做一个:

 tcpdump -nnpi any icmp 

并从您的工作站从另一个terminalping该主机。 你会看到从你的工作站的IP的tcpdump壳icmp数据包

现在我想到了,你甚至不需要访问服务器,你可以在你的主机上启动tcpdump,在你的工作站的一个root shell上检查select的未使用端口的数据包,比如121345。

 tcpdump -nnpi any port 12345 

然后从工作站上的普通terminal窗口:

 telnet server 12345 

要么:

 nc server 12345 

在tcpdumpshell上,您将看到您用来连接到服务器的IP。