我有一个工作站连接到几个内部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。