python被动模式访问ftp

分析服务器发送来的PORT信息,和服务器的port建立数据连接。

 2
 3 #!/usr/bin/python
 4 # -*- coding: utf-8 -*-
 5 import ftplib
 6 import os
 7 import socket
 8 import sys
 9
10 HOST = ‘12.15.26.25‘
11 DIRN = ‘/file_yes‘
12 FILE = ‘put.txt‘
13 host1 = ‘11.25.45.26‘
14 port1 = 15245
15
16
17
18 def main():
19     try:
20         f = ftplib.FTP(HOST)
21     except (socket.error, socket.gaierror):
22         print ‘ERROR:cannot reach " %s"‘ % HOST
23         return
24     print ‘***Connected to host "%s"‘ % HOST
25
26     try:
27         f.login(‘FTP002‘,‘[email protected]#‘)
28     except ftplib.error_perm:
29         print ‘ERROR: cannot login FTP‘
30         f.quit()
31         return
32     print ‘*** Logged in as "FTP"‘
33     print f.getwelcome()
34
35     try:
36         f.sendcmd(‘SYST‘)
37         f.sendcmd(‘PWD‘)
38         f.sendcmd(‘CWD /file_yes‘)
39         f.sendcmd(‘PWD‘)
40         f.sendcmd(‘TYPE I‘)
41         str1= f.sendcmd(‘PASV‘)
42
43         print str1
44         str2=str1.split(‘,‘)
45         print str2
46         print str2[4]
47         str3=str2[5].split(‘)‘)
48         print str3
49         print str3[0]
50         port = int(str2[4])*256+int(str3[0])
51         print port
52
53     except ftplib.error_perm:
54         print ‘ERROR:error with putcmd‘
55         f.quit()
56         return
57     print ‘***putcmd successfully‘
58
59     #To establish a TCP connection
60     try:
61         s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
62     except socket.error,msg:
63         print ‘Failed to create socket.Error code:‘+str(msg[0])+‘,Error message‘+msg[1]
64         sys.exit()
65     print ‘Socket Create‘
66
67     s.connect((host1,port))
68     print ‘Socket connect!‘
69     print f.sendcmd(‘LIST‘)
70
71     f.quit()
72     return
73 if __name__ == ‘__main__‘:
74     main()  
时间: 2024-08-28 23:56:15

python被动模式访问ftp的相关文章

Serv-U设置被动模式(FTP工具)

FTP服务器在公司内网,通过端口映射把21端口映射出去. 公司一些机器也在各个省的机房内网.好在这些机器可以访问公网.由于各个地区的机器托管在各个地区机房. 我有公司防火墙的权限,可以做防火墙上做端口映射,把FTP设置为被动模式,各个省的机器作为客户端连接公司这边FTP服务器即可 环境介绍 公司FTP服务器地址是10.0.1.12,控制端口是默认的21端口,数据传输模式是主动模式 公司防火墙是202.101.102.35,   映射222.101.102.35:50021-->10.0.1.12

CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FTP服务器需要安装vsftp服务端软件.我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了用户登录进linux系统,所以比

局域网内计算机访问FTP服务器时,提示“无法访问服务器名称或地址

局域网内计算机访问FTP服务器时,提示“无法访问服务器名称或地址”,一般由三个原因造成:一.防火墙未关闭解决方法如下:1.单击屏幕左下角的”开始“菜单2.在弹出菜单中单击”控制面板“3.点击”系统和安全“4.点击”Winsows 防火墙“5.单击左侧的”打开或关闭Windows防火墙“6.在”家庭或工作网络位置设置“和”公用网络位置设置“两项里选择关闭防火墙,单击”确定“即可.二.设置有误,FTP被动模式没有禁止.解决方法如下:1.打开浏览器,点击”工具“2.在下拉菜单中点击”Internet选

python之实现ftp上传下载代码(含错误处理)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之实现ftp上传下载代码(含错误处理) #http://www.cnblogs.com/kaituorensheng/p/4480512.html#_label2 import ftplib import socket import os def ftpconnect(ftp_info): try: ftp = ftplib.FTP(ftp_info[0]) except (socket.er

C# 实现访问FTP服务器下载文件,获取文件夹信息小记

最近因为要开发广告制作工具,自动生成广告流,需要获取第三方服务器上的文件资源,经过摸索,从这次经历中记录下. FtpWebRequest reqFtp; WebResponse response = null; //获取文件夹信息 reqFtp = (FtpWebRequest)WebRequest.Create(this.ftp);//ftp://IP:port/文件夹名1/文件夹名2/.../文件夹名 reqFtp.UseBinary = true; reqFtp.KeepAlive = f

创建ACL语句使真机访问虚拟服务器的web服务并禁止访问FTP服务详解

创建ACL语句使真机访问虚拟服务器的web服务并禁止访问FTP服务 首先创建拓扑,然后规划好IP地址并连接拓扑线 配置理念是先配置简单的最后配置复杂的. 首先需要保证网络拓扑的互联互通:具体配置如下 R1上面的配置 SW3上面的配置 SW2上面的配置 SW1上面的配置 设置宿主机上的IP地址 打开虚拟机server 2008配置IP地址 给server 2008服务器 添加web服务和FTP服务 点击添加角色之后,再点击下一步,进入这个页面 再点击两次下一步,就会进入这个页面 后面根据提示点击下

解决RouteOS多线路叠加无法访问FTP问题

在公司WEB服务器搭建了PureFTP,搭好后在公司死活连接不上,报错信息如下: 以 PASV 模式连接失败,正在尝试 PORT 模式. 正在侦听端口: 49856,正在等待连接. PORT 192,168,2,37,194,192 200 PORT command successful MLSD 425 Could not open data connection to port 11232: Connection refused 列表 错误 QUIT 换公司另外一条专线或是用手机热点就可以正

Perl 访问FTP

#ftp #ljl #!/usr/bin/perl use strict; use Net::FTP; my $user = "anonymous"; my $passwd = "[email protected]"; my $host = "ftp.freebsd.org"; my $ftp = Net::FTP->new("$host", Debug =>0) or die "Can't connec

[Win7]IE中访问FTP网址不能在资源管理器中打开

问题症状:在计算机或者IE中访问FTP网址,不能在资源管理器中打开.始终只能用IE浏览.网上在IE-视图-在资源管理器中浏览FTP等方法无效. 操作系统:Win7 软件版本:IE 11 处理方法: 保存下面的文件为reg注册表文件并导入注册表 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\ftp] @="URL:File Transfer Protocol" "AppUserModelID"=&quo