我有这个Perl脚本,在这里我想获得FTP服务器的清单。
我的理解是FTP服务器打开一个新的连接回到客户端主机上的一些随机端口发送数据。我应该以某种方式创建一个新的套接字并从中读取吗?我想不出怎么让它起作用。
#!/usr/bin/perl
use warnings;
use 5.30.0;
use IO::Socket;
my $socket = IO::Socket::INET->new("core9:21");
$socket->send("USER user7\r\n", 0);
$socket->send("PASS
我希望我能解释清楚我的问题,因为我感到迷茫,不知道什么是真正的问题。使用Symfony2.8和,我试图连接到ftp服务器并下载文件。整个过程将只通过symfony的应用程序/控制台启动。
这是我的服务,包含了整个逻辑:
<?php
namespace xxx\Services\Import;
use Doctrine\ORM\EntityManager;
use Ijanki\Bundle\FtpBundle\Ftp;
use Ijanki\Bundle\FtpBundle\Exception\FtpException;
use xxx\Entity\Product;
use xxx
当我使用这种方法从ddms上传文件时,我有一个UnknownHostException:
try {
SimpleFTP ftp = new SimpleFTP();
// Connect to an FTP server on port 21.
ftp.connect("ftp://*******", 21, "*****", "*****");
// Set binary mode.
ftp.bin();
// Change to a new working directory on the FTP server.
ftp.cwd(
我在同一个防火墙/路由器后面有两台机器--一台是Windows 7工作站,另一台是Windows 2003服务器。问题是使用Windows2003服务器上的FileZilla FTP客户端(注意:非服务器)进行传出FTP访问。
通过在FileZilla工作站上使用Win7客户端,我可以使用被动模式连接到外部的FTP站点,而不会出现问题。但是,当我尝试从Windows2003服务器上的FileZilla客户端执行相同的操作时,它会在试图检索目录列表时挂起。日志输出如下:
Status: Resolving address of xxxxx.com
Status: Connecting to xx
我使用iptables防火墙打开了端口21,但是当我在服务器上运行nmap时,它显示ftp端口关闭了。我在linux上重新启动了service vsftpd,但没有结果。
下面是vsftpd.conf文件:
# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see
我刚安装了monit并检查了网页界面。不幸的是,尽管proftpd正在运行,但它被标记为未运行。我认为这是因为我使用的是S/FTP,而不是FTP。可以用S/FTP运行monit吗?
##CHECK ProFTPD
check process proftpd with pidfile /var/run/proftpd.pid
start program = "/etc/init.d/proftpd start"
stop program = "/etc/init.d/proftpd stop"
if failed port 21 protocol sftp the
我尝试了以下规则来允许FTP:
# The following two rules allow the inbound FTP connection
iptables -A INPUT -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
# The next 2 lines allow active ftp connections
iptables -A INPUT -p