社区
C#
帖子详情
应 PASV 命令的请求,服务器返回了一个与 FTP 连接地址不同的地址。
空怀
2011-01-05 02:11:33
c#程序,下载远程ftp服务器上的文件时报错。
...全文
478
1
打赏
收藏
应 PASV 命令的请求,服务器返回了一个与 FTP 连接地址不同的地址。
c#程序,下载远程ftp服务器上的文件时报错。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nkhuangyanping
2012-02-14
打赏
举报
回复
还是没人啊,我现在遇到这个问题,不知道您怎么解决的。
FTP
被动模式分析,
ftp
抓包分析
FTP
的两种
不同
工作模式:PORT(主动模式)与
PASV
(被动模式) 1、首先,我们要了解,
FTP
工作的时候,需要用到两个
连接
:控制
连接
与数据
连接
,控制
连接
专门用于
FTP
控制
命令
及
命令
执行信息传送;数据
连接
专门用于传输数据(上传/ 下载)。 2、Port 模式也就是主动模式,是
FTP
协议最初定义的
连接
模式。Port 模式的
连接
过程是: 在开始
一个
FTP
的
连接
时,客户端程序首先会为自己随机分配
一个
TCP 端口,它使用这 个个端口向服务器的
FTP
端口(默认为21)发出
连接
请求
,服务器接受
请求
之后会建立 一条控制链路,然后客户程序向服务器发出Port
命令
(通常格式为PORT A1, A2, A3, A4, P1,P2,其中A1,A2,A3,A4 为客户端IP
地址
,P1,P2 为随机的
一个
数据
连接
端口号, P1、P2 与端口号换算后述),告诉服务器它的数据通道的端口打开了。当需要传送数据 时,服务器通过20 端口向客户端提供的随机端口发送
连接
请求
,
请求
被接受之后便开 始传输数据,数据链路通道也就打开了,在整个过程中,由于服务器在建立数据
连接
时 主动发起
连接
,因此被称为主动模式。
IIS 架设
FTP
服务器图文教程
在企业中,对于一些大文件的共享,通常采用
FTP
这种形式来完成,并且由于
FTP
能消除操作系统之间的差异,对于
不同
的操作系统之间共享文件的作用就显得尤为突出。 一、
FTP
服务器的工作方式
FTP
协议有两种工作方式:PORT方式和
PASV
方式,中文意思为主动式和被动式。其中PORT(主动)方式的
连接
过程是:客户端向服务器的
FTP
端口(默认是21)发送
连接
请求
,服务器接受
连接
,建立一条
命令
链路。当需要传送数据时,服务器从20端口向客户端的空闲端口发送
连接
请求
,建立一条数据链路来传送数据。而
PASV
(被动)方式的
连接
过程是:客户端向服务器的
FTP
端口(默认是21)发送
连接
请求
,服务器接受
连接
,
Python实现
FTP
文件传输的实例
FTP
一般流程
FTP
对
应
PASV
和PORT两种访问方式,分别为被动和主动,是针对
FTP
服务器端进行区分的,正常传输过程中21号端口用于指令传输,数据传输端口使用其他端口。
PASV
:由客户端发起数据传输
请求
,服务器端返回并携带数据端口,并且服务器端开始监听此端口等待数据,为被动模式; PORT:客户端监听端口并向服务器端发起
请求
,服务器端主动
连接
此端口进行数据传输,为主动模式。 其中TYPE分两种模式,I对
应
二进制模式、A对
应
ASCII模式;
PASV
为客户端发送
请求
,之后227为服务器端返回操作码表示成功,并且后面带有服务器端监听的端口:143×256(左移8位)+48 之后通过STO
CURL用法大全
1.访问http页面内容,输出到标准输出 curl http://www.neocanable.com 2.生成文件 curl -o index.html http://www.neocanable.com 以远程文件名保存 curl -O http://www.neocanable.com 参数-o为输出到某个文件,上面的
命令
等同于wget http://www.neocanable.com或者curl http://www.neocanable.com > index.html 3.添加proxy curl -x xxx.xxx.xxx.xxx http://www.neocanable.com 通过代理ip访问网页 4.添加浏览器信息 通常服务器的日志会记录客户端浏览器的信息 curl -A “浏览器信息” http://www.neocanable.com 5.批量下载文件 curl http://www.xxx.com/action/[1-100].html > /dev/null 这个最适合爬自己网站的缓存了 文件下载后重新命名和类正则使用,下载后的文件是demo1-001.html curl -o #1_#2 http://www.xxx.com/~{demo1,demo2}/[1-100].html 创建需要的目录 curl -o –create-dirs http://www.xxx.com/~{demo1,demo2}/[1-100].html 6.分块下载 curl -r 0-1024 http://www.xxx.com/aa.zip curl -r 1025- http://www.xxx.com/aa.zip 先下1M,然后再下剩下的 7.curl
ftp
访问
ftp
地址
curl -u username:password
ftp
://www.xxx.com curl -u
ftp
://www.xxx.com 添加端口 curl -u username:password -P8899
ftp
://www.xxx.com 上传文件到
ftp
curl -T /home/neo/demo.jpg -u username:password
ftp
://www.xxx.com 8.测试参数 测试站点相
应
时间 curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} www.google.com 查看http_code curl -o /dev/null -s -w %{http_code} http://www.neocanable.com 网页或文件大小 curl -o /dev/null -s -w %{size_header} http://www.neocanable.com http_code:http返回类似404,200,500等 time_total:总相
应
时间 time_namelookup:域名解析时间 time_connect:
连接
到目标
地址
耗费的时间 time_pretransfer:从执行到开始传输文件的时间间隔 time_starttransfer:从执行到开始传输文件的时间间隔 size_download:下载网页或文件大小 size_upload:上传文件大小 size_header:响
应
头 size_request:发送
请求
参数大小 speed_download:传输速度 speed_upload:平均上传速度 content_type:下载文件类型. (Added in 7.9.5) 9.post和get
请求
get
请求
curl “param1=name¶ms2=pass” http://www.xxx.com post
请求
curl -d “param1=name¶ms2=pass” http://www.xxx.com 10.响
应
超时 curl -m 40 http://www.xxx.com curl –timeout 40 http://www.xxx.com 11.破解网站的防盗链 curl -e “http://www.a.net” http://www.b.net/acion 12.网站头部信息 curl -I http://www.neocanable.com 13.更总url跳转 curl -L http://url.cn/2yQFfd 14.正确的给url编码 curl –data-urlencode http://www.xxx.com/action?name=张三&sex=男 15.限制url的传输速度 curl –limit-rate http://www.xxx.com/action 16.限制下载文件大小 curl –max-filesize 1024 http://www.xxx.com/action 超过1M将不执行操作,并且返回出错 17.curl错误代码 1:未支持的协议。此版cURL不支持这一协议。 2:初始化失败。 3:URL格式错误。语法不正确。 5:无法解析代理。无法解析给定代理主机。 6:无法解析主机。无法解析给定的远程主机。 7:无法
连接
到主机。 8:
FTP
非正常的服务器
应
答。cURL无法解析服务器发送的数据。 9:
FTP
访问被拒绝。服务器拒绝登入或无法获取您想要的特定资源或目录。最有可能的是您试图进入
一个
在此服务器上不存在的目录。 11:
FTP
非正常的PASS回复。cURL无法解析发送到PASS
请求
的
应
答。 13:
FTP
非正常的的
PASV
应
答,cURL无法解析发送到
PASV
请求
的
应
答。 14:
FTP
非正常的227格式。cURL无法解析服务器发送的227行。 15:
FTP
无法
连接
到主机。无法解析在227行中获取的主机IP。 17:
FTP
无法设定为二进制传输。无法改变传输方式到二进制。 18:部分文件。只有部分文件被传输。 19:
FTP
不能下载/访问给定的文件, RETR (或类似)
命令
失败。 21:
FTP
quote错误。quote
命令
从
服务器返回
错误。 22:HTTP 找不到网页。找不到所
请求
的URL或返回另
一个
HTTP 400或以上错误。此返回代码只出现在使用了-f/–fail选项以后。 23:写入错误。cURL无法向本地文件系统或类似目的写入数据。 25:
FTP
无法STOR文件。服务器拒绝了用于
FTP
上传的STOR操作。 26:读错误。各类读取问题。 27:内存不足。内存分配
请求
失败。 28:操作超时。到达指定的超时期限条件。 30:
FTP
PORT失败。PORT
命令
失败。并非所有的
FTP
服务器支持PORT
命令
,请尝试使用被动(
PASV
)传输代替! 31:
FTP
无法使用REST
命令
。REST
命令
失败。此
命令
用来恢复的
FTP
传输。 33:HTTP range错误。range “
命令
”不起作用。 34:HTTP POST错误。内部POST
请求
产生错误。 35:SSL
连接
错误。SSL握手失败。 36:
FTP
续传损坏。不能继续早些时候被中止的下载。 37:文件无法读取。无法打开文件。权限问题? 38:LDAP 无法绑定。LDAP绑定(bind)操作失败。 39:LDAP 搜索失败。 41:功能无法找到。无法找到必要的LDAP功能。 42:由回调终止。
应
用程序告知cURL终止运作。 43:内部错误。由
一个
不正确参数调用了功能。 45:接口错误。指定的外发接口无法使用。 47:过多的重定向。cURL达到了跟随重定向设定的最大限额跟 48:指定了未知TELNET选项。 49:不合式的telnet选项。 51:peer的SSL证书或SSH的MD5指纹没有确定。 52:服务器无任何
应
答,该情况在此处被认为是
一个
错误。 53:找不到SSL加密引擎。 54:无法将SSL加密引擎设置为默认。 55:发送网络数据失败。 56:在接收网络数据时失败。 58:本地证书有问题。 59:无法使用指定的SSL密码。 60:peer证书无法被已知的CA证书验证。 61:无法辨识的传输编码。 62:无效的LDAP URL。 63:超过最大文件尺寸。 64:要求的
FTP
的SSL水平失败。 65:发送此数据需要的回卷(rewind)失败。 66:初始化SSL引擎失败。 67:用户名、密码或类似的信息未被接受,cURL登录失败。 68:在T
FTP
服务器上找不到文件。 69:T
FTP
服务器权限有问题。 70:T
FTP
服务器磁盘空间不足。 71:非法的T
FTP
操作。 72:未知T
FTP
传输编号(ID)。 73:文件已存在(T
FTP
) 。 74:无此用户(T
FTP
) 。 75:字符转换失败。 76:需要字符转换功能。 77:读SSL证书出现问题(路径?访问权限? ) 。 78:URL中引用的资源不存在。 79:SSH会话期间发生
一个
未知错误。 80:未能关闭SSL
连接
。 82:无法加载CRL文件,丢失或格式不正确(在7.19.0版中增加 ) 。 83:签发检查失败(在7.19.0版中增加 ) 。
C#
FTP
上传文件时出现"
应
PASV
命令
的
请求
,
服务器返回
了
一个
与
FTP
连接
地址
不同
的
地址
。"的错误...
FTP
上传文件时出现"
应
PASV
命令
的
请求
,
服务器返回
了
一个
与
FTP
连接
地址
不同
的
地址
。"的错误 解决方法是在原代码上增加这句话 req
FTP
.UsePassive = false; /// <summary> /// 上传 /// </summary> pu...
C#
110,567
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章