问题标签 [passive-mode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2440 浏览

ftp - 通过 NAT 在端口 2000 上运行的 FTP 服务器在被动模式下不工作

我在 Windows 上运行 FILE-Zilla ftp 服务器,其中一台 LAN pc 连接到我的路由器。我正在尝试通过在路由器中添加端口转发规则(NAT)来使用路由器 WAN ip (WAN-to-LAN)从路由器外部的网络访问 FTP 服务器。根据以下配置,我在这里有 2 个案例。第一个工作正常第二个不工作(在被动模式下)。

注意:我在运行 ftp 服务器的 Windows 7 防火墙中添加了自定义入站规则。

配置#1

如果客户端尝试使用主动/被动模式进行连接,这将起作用

配置#2

这仅在客户端设置为活动模式时才有效。 客户端无法使用被动模式配置。客户端可以连接并且登录成功,但在服务器端以这样的错误消息结束,没有任何目录列表。

注意:这两种情况都工作在 LAN-LAN 网络中。

0 投票
1 回答
718 浏览

ftp - 被动模式下的Jmeter FTP请求

我正在使用Jmeter. 我只是设置了 IP 地址,jmeter默认在端口 21 上发送文件,服务器不接受该文件。但我希望该过程是被动的,这意味着客户端与服务器协商,并在分配端口号后发送文件。
我应该如何设置它Jmeter
我也读过这篇文章,它说默认模式是被动的,但我的情况并非如此。

0 投票
1 回答
1210 浏览

c - C - 无法在 FTP 客户端连接被动模式

我正在编写一个 ftp 客户端。我有控制通道工作,因为我可以执行 CWD、PASV、USER 或 PASSWORD 等命令。

问题是当我想打开数据通道以执行例如 LIST (ls) 时。为此,我尝试使用与控制通道相同的函数调用被动(pasv)后指定的端口打开另一个连接。我认为连接正常,但我没有收到缓冲区的任何内容,程序就像在等待读取内容一样。我不确定使用相同的连接功能是否可以,但我认为它应该可以工作。

整个代码有点大。comando_list 函数是麻烦之一,而 socket_connection 是我用来进行连接的函数。我认为麻烦一定存在

0 投票
2 回答
1764 浏览

phpstorm - PhpStorm 2017.1.3 被动模式

我正在使用 PhpStorm 在实时服务器上编辑文件。当我尝试上传文件时,它告诉我“无法关闭文件的输出流”。请注意,我正在使用“SFTP”..

有人建议使用“被动模式”可以解决问题,但是当我转到:(工具=>部署=>配置=>高级设置)时找不到设置!

甚至可以在 SFTP 中使用被动模式!?

0 投票
1 回答
1576 浏览

ftp - WinInet FTP 在连接时切换被动模式到主动模式?

我使用 WinInet 连接到 FTP 服务器。我使用FtpCommand()发送“PASV”命令从主动模式切换到被动模式。我现在正在寻找相反的命令来从被动模式切换到主动模式。有谁知道如何做到这一点?

0 投票
3 回答
11954 浏览

php - “php_connect_nonb() failed: Operation now in progress (115)”在 PHP 中使用 TLS/SSL 加密的 FTP 连接 - 未加密的连接有效

我正在尝试为我的服务器的 cPanel 帐户使用自动备份脚本。
我已经在一台带有 FileZilla Server 的本地机器上安装了一个 FTP 服务器。我可以使用 FileZilla 客户端、Plesk 服务器和 lftp 成功连接和传输文件...
服务器只接受加密连接并且启用了被动模式。

由于某些未知原因,尝试使用 PHP 连接和放置文件时,响应是:

警告:ftp_put(): php_connect_nonb() failed: Operation now in progress (115) in
/home/xxxxxxx/public_html/lab/test/perform_mysql_bk.php on line 326

对这个错误有什么想法吗?

对于我正在使用的连接:

响应成功:(我已经用xx值替换了我的IP)

尝试使用 SSL+FTP 连接到 xx.xx.xx.xx:21 成功。现在登录...
FTP 连接成功,xx.xx.xx.xx:21
FTP 连接设置为 PASSIVE 模式。

但是当系统遇到这个时:

响应是错误

警告:ftp_put(): php_connect_nonb() failed: Operation now in progress (115) in
/home/xxxxxxx/public_html/lab/test/perform_mysql_bk.php on line 326

我已经阅读了很多页面说这个错误是由 FTP 服务器返回内部 IP 地址而不是公共 IP 地址引起的,但是我已经用其他程序进行了测试并且一切运行正常,执行 PASV 命令时 FTP 服务器正在发送公共 IP .

有任何想法吗?

0 投票
2 回答
5623 浏览

php - 当控制台 FTP 似乎工作正常时,如何调试为什么 PHP FTP 不能在 PASV 模式下工作?

我有一个用于测试的 Docker Compose 系统,我在其中对单页 Web 应用程序进行端到端测试。网站中的几个按钮将导致在一个容器 ( missive-transmitter) 中启动 FTP 连接,然后转到另一个容器 ( missive-testbox) 中的测试 FTP 服务器。

我在 PHP 中的 FTP 逻辑总是使用“被动”模式,我认为这是导致问题的原因。我创建了一个脚本来运行missive-transmitter,它是真实事物的简化版本。如下,直接从控制台运行:

现在,如果我删除该***部分(启用被动模式),那么脚本将起作用。如果我把它留在里面,我会得到这个:

信息:UNIX

警告:ftp_put(): php_connect_nonb() failed: Operation in progress (115) in /root/src/ftptest.php on line 23

警告:ftp_put(): TYPE 现在是 ASCII 在 /root/src/ftptest.php 的第 23 行

无法发送文件

我希望我的 FTP 操作在 PASV 模式下工作。

奇怪的是,如果我安装了一个 FTP 客户端,那么它似乎可以在主动或被动模式下工作,这是我不明白的。missive-transmitter侧面:

PHP 是在做不同的事情,还是我实际上没有在控制台客户端中使用 PASV 模式?

我已经确认两个容器可以ping从各自的sh控制台相互连接。它们位于同一个(自定义)Docker 网络上。

missive-testboxDocker容器是基于的,gists/pure-ftpd所以据我所知应该配置正确。

更新

以下答案中的一个有用点是关于 NAT 可能如何使一侧使用错误的 IP 地址建立连接。但是,虽然我不是网络专家,但 IP 地址似乎在同一个子网上。

来自missive-transmitter

missive-testbox

认为他们都是172.19.0.x地址的事实意味着他们应该能够完全看到对方,尽管我愿意对这个假设进行更正。

更新 2

有人建议获取一些 FTP 客户端或服务器日志是调试此问题的好方法。客户端很简单。这里是与上面相同的操作,但在 LFTP 的调试模式下。

主动模式为先:

好的,这很成功。这是LFTP中的被动版本,再次成功。

我注意到一开始的警告,关于需要修复的地址 - 这可能是相关的吗?如果任何一方将自己宣传为“本地主机”,这可能是一个问题:-)

0 投票
0 回答
57 浏览

c - 命令“dir”不适用于 libcurl 语言 C

我正在尝试使用以下功能在 ftp 服务器上发送“DIR”命令:

错误:

500 DIR 不理解

QUOT 命令失败,返回 500

结果

当我使用终端时,我得到了同样的错误。但是如果我使用命令“pass”,那么它可以工作

下图

结果

感谢帮助。

0 投票
1 回答
390 浏览

wso2 - VFS:URL 参数 transport.vfs.passive 在 WSO2 EI 6.2.0 中不起作用

早上好

我有一个代理服务,它从需要被动移动的 FTP 读取文件。在 WSO2 EI 6.1.0 中,我能够通过 URL 参数启用被动模式, ?transport.vfs.passive=true并且没有问题。

在 WSO2 EI 6.2.0 中,相同的代理服务失败并出现以下错误
[EI-Core] DEBUG - FtpClientFactory$FtpConnectionFactory SYST
[EI-Core] DEBUG - FtpClientFactory$FtpConnectionFactory 215 UNIX 类型:L8
[EI-Core] DEBUG - FtpClientFactory$ FtpConnectionFactory PORT192,168,200,195,223,83
[EI-Core] DEBUG - FtpClientFactory$FtpConnectionFactory 200 PORT 命令成功。考虑使用 PASV。
[EI-Core] DEBUG - FtpClientFactory$FtpConnectionFactory LIST OUT/VERIFY/IN
[EI-Core] DEBUG - FtpClientFactory$FtpConnectionFactory 425 无法建立连接。

日志的主要区别是 ftp answer 200 PORT 命令成功。考虑使用 PASV。

启用被动模式的参数是否在 vfs 和 vfs2 之间更改,或者是否有另一种方法可以在 WSO2 EI 6.2.0 编辑的 VFS FTP 中启用被动模式,我也尝试了 ?vfs.passive=true,结果相同

供参考,我用来测试的代码

0 投票
0 回答
240 浏览

sockets - FTP 客户端从服务器接收到错误的端口

我正在从头开始编写 FTP 客户端,但无法打开 PASV 连接。服务器似乎发送了正确的端口,但客户端收到了不同的原始字符串,随后无法连接。

这是服务器日志(Filezilla):

这是客户端日志(我的程序):

显示的输出是从套接字接收的原始数据。所有服务器输出都到达,但 227 响应的端口号错误。我很困惑这怎么可能。

连接是通过从越南到德国的 VPN (OpenVPN),服务器也位于德国。我已经验证 Filezilla 和我的客户端在同一台机器上运行时可以一起工作(没有互联网流量)。我还验证了我的客户端与独立服务器(本地和不安全的互联网)一起工作,所以问题似乎出在 Filezilla 上?