FTP无法通过TCP隧道工作

FTP无法通过TCP隧道工作,ftp,reverse-proxy,Ftp,Reverse Proxy,因此,我使用以下软件:tcptunnel。这是一个简单的软件,基本上可以将数据包转发到另一台服务器。在这种情况下,我使用受DDoS保护的服务器将数据转发到未受保护的服务器,因此它不会被DDoS攻击 无论如何,这是我的tcptunnel命令,非常标准 /root/tcptunnel/tcptunnel \ --local-port=21 \ --remote-port=21 \ --remote-host=x.x.x.x \ --bind-address=209.141.39.157 \ --fo

因此,我使用以下软件:tcptunnel。这是一个简单的软件,基本上可以将数据包转发到另一台服务器。在这种情况下,我使用受DDoS保护的服务器将数据转发到未受保护的服务器,因此它不会被DDoS攻击

无论如何,这是我的tcptunnel命令,非常标准

/root/tcptunnel/tcptunnel \
--local-port=21 \
--remote-port=21 \
--remote-host=x.x.x.x \
--bind-address=209.141.39.157 \
--fork \
--stay-alive
现在,如果我正常使用x.x.x.x连接到FTP服务器,它会工作,但当连接到受保护的IP时,连接会启动,并且似乎会进行身份验证,但不会显示文件

感谢您的帮助

Status: Connecting to 209.141.39.157:21...
Status: Connection established, waiting for welcome message...
Response:   220 Multicraft 1.8.2 FTP server
Command:    USER xxxx
Response:   331 Username ok, send password.
Command:    PASS ********
Response:   230 Login successful
Command:    OPTS UTF8 ON
Response:   200 OK
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/" is the current directory.
Command:    TYPE I
Response:   200 Type set to: Binary.
Command:    PASV
Response:   227 Entering passive mode (x,x,x,x,96)
Command:    MLSD
Response:   150 File status okay. About to open data connection.
Error:  Connection timed out
Error:  Failed to retrieve directory listing

注意FTP协议不是NAT透明的。在你的情况下,也存在类似的情况。对于retrieve命令,ip地址是原始用户的ip地址。如果您只是将此命令转发到服务器,服务器将尝试直接向原始用户发送数据,这将失败

为了实现这一点,tcptunnel需要了解上层协议,并在转发数据之前进行必要的数据包修改