问题标签 [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.
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 网络中。
ftp - 被动模式下的Jmeter FTP请求
我正在使用Jmeter
. 我只是设置了 IP 地址,jmeter
默认在端口 21 上发送文件,服务器不接受该文件。但我希望该过程是被动的,这意味着客户端与服务器协商,并在分配端口号后发送文件。
我应该如何设置它Jmeter
?
我也读过这篇文章,它说默认模式是被动的,但我的情况并非如此。
c - C - 无法在 FTP 客户端连接被动模式
我正在编写一个 ftp 客户端。我有控制通道工作,因为我可以执行 CWD、PASV、USER 或 PASSWORD 等命令。
问题是当我想打开数据通道以执行例如 LIST (ls) 时。为此,我尝试使用与控制通道相同的函数调用被动(pasv)后指定的端口打开另一个连接。我认为连接正常,但我没有收到缓冲区的任何内容,程序就像在等待读取内容一样。我不确定使用相同的连接功能是否可以,但我认为它应该可以工作。
整个代码有点大。comando_list 函数是麻烦之一,而 socket_connection 是我用来进行连接的函数。我认为麻烦一定存在
phpstorm - PhpStorm 2017.1.3 被动模式
我正在使用 PhpStorm 在实时服务器上编辑文件。当我尝试上传文件时,它告诉我“无法关闭文件的输出流”。请注意,我正在使用“SFTP”..
有人建议使用“被动模式”可以解决问题,但是当我转到:(工具=>部署=>配置=>高级设置)时找不到设置!
甚至可以在 SFTP 中使用被动模式!?
ftp - WinInet FTP 在连接时切换被动模式到主动模式?
我使用 WinInet 连接到 FTP 服务器。我使用FtpCommand()
发送“PASV”命令从主动模式切换到被动模式。我现在正在寻找相反的命令来从被动模式切换到主动模式。有谁知道如何做到这一点?
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 .
有任何想法吗?
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-testbox
Docker容器是基于的,gists/pure-ftpd
所以据我所知应该配置正确。
更新
以下答案中的一个有用点是关于 NAT 可能如何使一侧使用错误的 IP 地址建立连接。但是,虽然我不是网络专家,但 IP 地址似乎在同一个子网上。
来自missive-transmitter
:
从missive-testbox
:
我认为他们都是172.19.0.x
地址的事实意味着他们应该能够完全看到对方,尽管我愿意对这个假设进行更正。
更新 2
有人建议获取一些 FTP 客户端或服务器日志是调试此问题的好方法。客户端很简单。这里是与上面相同的操作,但在 LFTP 的调试模式下。
主动模式为先:
好的,这很成功。这是LFTP中的被动版本,再次成功。
我注意到一开始的警告,关于需要修复的地址 - 这可能是相关的吗?如果任何一方将自己宣传为“本地主机”,这可能是一个问题:-)
:
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,结果相同
供参考,我用来测试的代码
sockets - FTP 客户端从服务器接收到错误的端口
我正在从头开始编写 FTP 客户端,但无法打开 PASV 连接。服务器似乎发送了正确的端口,但客户端收到了不同的原始字符串,随后无法连接。
这是服务器日志(Filezilla):
这是客户端日志(我的程序):
显示的输出是从套接字接收的原始数据。所有服务器输出都到达,但 227 响应的端口号错误。我很困惑这怎么可能。
连接是通过从越南到德国的 VPN (OpenVPN),服务器也位于德国。我已经验证 Filezilla 和我的客户端在同一台机器上运行时可以一起工作(没有互联网流量)。我还验证了我的客户端与独立服务器(本地和不安全的互联网)一起工作,所以问题似乎出在 Filezilla 上?