如何为IPv6地址使用PORT命令

问题描述 投票:1回答:2

https://support.solarwinds.com/SuccessCenter/s/article/PORT-FTP-command中,我可以看到PORT命令基本上以PORT(h1,h2,h3,h4,p1,p2)的形式接受输入。但是我需要在IPv6机器上启动PORT命令(或其他替代方法)。有什么方法/替代方法可以使我完成连接吗?

[当我尝试使用recv WinAPI使用IPv6地址运行PORT命令时recv(tsocket, buf, size, flag);输出为:500'PORT xxxx,xxxx,xxx,xxxx,xxxx,4,176':命令不被理解。

4,176是我尝试连接的端口(即1200),其余的'x'是我系统的IPv6地址。

我正在尝试在FTP上实现活动模式连接。

额外:是否可以在IPv4 FTP服务器和IPv6客户端之间建立连接?

sockets ftp
2个回答
3
投票

对于IPv6,您需要使用EPRT而不是PORT

EPRTRFC 2428中定义([section 2: The ERPT Command中。RFC提供了此示例:

EPRT |2|1080::8:800:200C:417A|5282|

当然,对方需要支持命令。如果不是,则无法使用IPv6。

是否可以在IPv4 FTP服务器和IPv6客户端之间建立连接?

不是直接。您将需要具有一些网关,以便在IP级别和应用程序级别之间在IPv6和IPv4之间转换,即重写用于连接设置的地址,还可能在PORT / PASV(仅IPv4)和EPRT / EPSV(IPv6)之间转换和IPv4,但并非所有IPv4系统都支持。)


1
投票
是否可以在IPv4 FTP服务器和IPv6客户端之间建立连接?
© www.soinside.com 2019 - 2024. All rights reserved.