如何向代理服务器隐藏SFTP服务器IP地址
本文关键字:服务器 IP 地址 SFTP 隐藏 代理服务器 | 更新日期: 2023-09-27 18:27:53
我使用以下代码连接到SFTP服务器:
var connectionInfo = new PasswordConnectionInfo(txtHost.Text, 22, txtUsername.Text, txtPassword.Text, ProxyTypes.Http, "209.xx.xxx.xxx", 3128,"proxyUser","proxyPass");
sftp = new SftpClient(connectionInfo);
try
{
sftp.Connect();
addItemToListBox("Connect", "Connect to server Success.");
BeginInvoke((MethodInvoker)delegate()
{
connect_state(false);
});
connection_flag = true;
}
catch
{
addItemToListBox("Connect", "Connect to server failed.");
addItemToListBox("Connect", "Try agine.");
connection_flag = false;
}
现在,当探查我与Wireshark的连接时,我可以看到HTTP请求,包括SFTP服务器的IP地址。
如何向代理服务器隐藏SFTP服务器IP地址?
您所能看到的只是代理请求。底层SSH和SFTP数据包是(应该)加密的。
关于向代理服务器隐藏IP地址:
在通往目标服务器的路上,您不能向任何代理服务器(或路由器或其他网络组件)隐藏IP地址,因为代理服务器(或者其他组件)需要知道将请求路由到哪里。
唯一的解决方法是通过代理服务器进行隧道传输。但为此,您必须能够在目标服务器之前、但在代理之后的某个网络组件上设置隧道末端(并且您必须愿意使隧道末端的IP地址对代理可见)。这样,隧道的末端就成为代理的目的地。
简单地说,如果你不控制代理和目的地之间的任何网络组件,你必须让代理知道目的地IP。这是没有办法的。这就是互联网的运作方式。IP地址是识别目的地的唯一方法。