当前位置:首页 » 文件管理 » ftp案例分析

ftp案例分析

发布时间: 2024-02-02 02:00:27

❶ 如何使用Wireshark 进行监听TCP ftp HTTP三个协议

Wireshark 进行监听TCP FTP HTTP三个协议

一、下载安装wireshark 从http://www.wireshark.org/ 下载安装Windows平台的wireshark,双击安装文件安装即可,在安装过程中注意选择安装winpcap。

二、启动wireshark后,选择工具栏中的快捷键(红色标记的按钮)即可Start anewlivecapture。

建立命令通道的包交互过程中,有很多FTP命令,包括了SYST、PWD、CWD等,是FTP的标准命令,网络上都可以查到。

Wireshark 进行监听TCP FTP HTTP完成。


❷ 【实战演练】Packet Tracer玩转CCNA实验20-构建企业内部网络综合案例(上)

CCNA网络部分的知识点已经全部讲完了,最后我们通过一个典型的企业总部与分支机构构建内部网络的综合案例,对前面学过的知识点进行回顾与总结。

1.1技术需求

通过对企业内部的了解,及其对企业网络功能要求的了解。我们对其企业网在技术方面做出了如下的分析:

1)主网络首先接入互联网,达到百兆随后到终端,信息管理中心选取三层交换机设备,终端选取二层交换机设备接入主网络。

2)在该网络中,私有IP地址与公网IP地址的转换可以通过网络地址转换技术完成。

3)建立文件传输协议服务器、Web服务器、电子邮件服务器等。

4)划分局域网,给不同的部门分配不同的局域网,控制广播风暴。

5)配置DHCP,使在同一个局域网中的主机可以自动获得IP地址。

6)在网络安全方面,配置访问控制列表对数据包进行控制。

1.2设计需求

为了满足XXX企业对企业网络的要求,设计出来的网络必须具备以下几个条件:

1)既能覆盖企业本地又能实现与外界通信的计算机企业网络,并且该网络不但能实现本地与本地、本地与外界的合理通信与资源共享,而且还得实现外界用户有条件地对企业内部服务器进行资源访问。

2)一个稳健、安全、快速的网络必须要选用先进的网络码闭设备陆衫,和行之有效的网络技术。比如,网络核心层的交换机就可以选用CISCO系列的交换机;要保证企业网络的安全与稳定则必须在企业内网与外网之间搭设一道防火墙;要实现网络的负载均衡则需要使用到HSRP技术、实现链路冗余则需要用到RSTP技术等等。

3)企业网络的管理最好是以部门为单位,那么就必须给企业的网络划分VLAN;而企业要求员工在企业外部通过Internet网络来以企业内部员工的身份访问企业内部网络则必须用到IPSec-VPN技术。

4)电脑自动获取IP地址,则需架设DHCP服务器。

5)提供无线上网功能,则必须得有无线路由设备。

6)公司员工文件服务的贡献与相互传送,则需在企业早模腔内部架设FTP文件传输服务器(为了安全,FTP服务器需架设在防火墙的DMZ区)。

7)信息发布到Internet网络,并让外界用户进行访问,则需架设Web服务器(为了安全,Web服务器需架设在防火墙的DMZ区)。

8)公司网络需具备域名解析需求,还得架设DNS域名解析服务器。

9)网络数据的快速传递,需要购进100M、1000M、10000M网线若干。

10)设备选择上必须在技术上具有领先性,通俗性,且必须便于管理,维护。要具备未来良好的延展性,可升级性。

根据上述的需求,我们设计的拓扑如下:

动手之前,最好弄个表格,最好IP地址与VLAN规划。做到哪里想到哪里敲到哪里肯定是不行的。

由于综合案例贴近实际生产,需求点过多,因此不可能做到哪里配到哪里,我们按照各个需求与网络分层,逐个需求各个击破。

3.1.1配置VTP

配置核心交换机与接入交换机。Core-SW配置VTP,并且配置VLAN。接入交换机上行链路需要配置为Trunk模式,Core交换机互联链路需要配置为Trunk模式。

Core-SW1:

Core-SW2:

JT-SW1~SW4:

3.1.2配置VLAN

配置Server区为内部Server,不能被外网访问,只能内网访问。DMZ区部署可以对外提供访问的Server,IT、CW、XZ分别为IT部、财务部、行政部员工办公网络

Core-SW1:

查看VLAN同步情况。

JT-SW1:

3.1.3配置生成树

Core-SW1:

Core-SW2:

JT-SW1~4:

3.1.4配置接入交换机VLAN

JT-SW1:

JT-SW2:

JT-SW3:

JT-SW4:

3.1.5配置核心交换机虚接口SVI

Core-SW1:

Core-SW2:

3.1.6配置核心交换机HSRP高可用

Core-SW1:

Core-SW2:

检测配置

检查HSRP的Acitve与Standby自动切换。

在Core-SW1的fa0/2关闭端口,再show standby brief查看切换情况。

自动切换生效,重新把fa0/2开启回去。

3.1.7配置核心交换机DHCP Relay

这个内容超纲,之前是没有讲过的,主要是为了使用DHCP服务器为终端自动分发地址。但是DHCP服务器默认只能为与其同网段的终端通信与分配IP地址。所以要在路由器/三层交换机上面,配置DHCP Relay,才能使每个网段,规定跨网段去哪个IP地址的DHCP服务器申请自动分配IP地址。另外按照规划, DHCP服务器的IP地址是10.1.5.20

Core-SW1:

Core-SW2:

3.1.8配置服务器

3.1.8.1配置DHCP服务器

DHCP服务器主要作用在于给接入网络的终端自动分配IP地址。

新建DHCP服务器,选“Service”,将除DHCP、NTP以外的其他功能关闭。

设置DHCP配置,将需要DHCP的网段都加入到里面。

为DHCP服务器配置静态IP地址。

打开其中一台PC,如JT-IT1,IP配置选择DHCP,然后在cmd窗口输入ipconfig查看是否已经能够自动获取IP地址。

3.1.8.2配置WEB服务器

除HTTP与NTP,其他服务关闭。

注意WEB服务器接入交换机的端口,按照上面的vlan划分,是在fa0/11,划入vlan16。

配置固定IP。

检查配置

打开其中一台PC,如JT-IT1,打开Web Browser。

输入10.1.6.10,进行测试,是否能够正常返回页面。

3.1.8.3配置DNS服务器

新建DNS服务器,选“Service”,将除DNS、NTP以外的其他功能关闭。

配置静态IP地址。

在之前配置的DNS服务器(10.1.5.10)上面增加WEB服务器的域名解析记录。

再次选择刚才的PC,JT-IT1,打开Web Browser,然后通过域名 http://www.workspace.com 访问10.1.6.10网站。正常打开网站证明DNS解析生效。

3.1.8.4配置FTP服务器

配置FTP服务器,除FTP与NTP,其他服务关闭。FTP服务器接入JT-SW1的fa0/12端口。

FTP服务器配置固定IP地址。

检查配置:

JT-IT1电脑,点击FTP进行访问。用户名cisco,密码cisco。

3.1.8.5配置EMAIL服务器

EMAIL服务器,除EMAIL与NTP服务保留,其余关闭。(set按钮记得要按,否则域名不生效)添加EMAIL账户。

Email服务器配置固定IP地址。

DNS添加域名解析记录。(注意区分哪条是A记录,哪2条是CNAME记录)

选择2台PC进行测试,选用JT-IT1、JT-XZ1,分别配置各自的EMAIL账户,点击SAVE保存。

点击Compose尝试发件。

点击Receiver进行查收。

3.1.9配置无线WIFI

增加无线路由器

笔记本关机。

将有线网卡拖动移除,然后拖动无线网卡安装,然后按电源键重新开机。

配置无线网络SSID与密码,接入无线网络。

有信号就已经连接上。

至此,集团总部内网二层网络与三层VLAN终结配置完毕,并且内网终端已经能够有线与无线接入公司网络,已经实现DHCP自动获取IP地址,发邮件,访问公司WEB与FTP服务。

下一篇我们继续实现公司三层路由、出口访问公网、公网访问DMZ区WEB服务器,分支机构与VPN等需求的配置。

❸ ASP文件上传原理分析及实现实例

摘要 在基于/的应用环境中 上传各种类型的文件一直是困扰用户文件管理应用的难题之一 在HTTP中上传文件有三种机制 RFC PUT和WebDAV 常用的实现方法是利用在RFC 中引入的一个新类型 File以及ADO Stream对象 本文对上述上传方法及实现原理作了论述 并给出了具体解决实例 ASP FILE对象

当前 基于/模式的应用比较流行 当用户需要将文件传输到上时 常用方法之一是运行FTP并将每个用户的FTP默认目录设为用户的Web主目录 这样用户就能运行FTP客户程序并上传文件到指定的 Web目录 这就要求用户必须懂得如何使用FTP客户程序 因此 这种解决方案仅对熟悉FTP且富有经验的用户来说是可行的 如果我们能把文件上传功能与Web集成 使用户仅用Web就能完成上传任务 这对于他们来说将是非常方便的 但是 一直以来 由于File System Object的仅能传送文本文件的局限 所以ASP最大的难题就是文件上传问题 下面介绍的就是如何在基于HTTP协议的网页中实现文件的上传

一 通过HTTP上传的三种机制

通过HTTP上传有三种机制 RFC PUT 和 WebDAV

PUT 是在HTTP 引入了一个新的HTTP动词 当web收到一个HTTP PUT和对象名字 它将会验证用户 接收HTTP流的内容 并把它直接存入web 由于这可能会对一个web站点造成破坏 并且还会失去HTTP最大的优势 可编程性 在PUT的情况下 自己处理请求 没有空间让CGI或者ASP应用程序介入 唯一让你的应用程序捕获PUT的方法是在低层操作 ISAPI过滤层 由于相应的原因 PUT的应用很有限

而WebDAV允许web内容的分布式拆吵认证与翻译 它引入了几种新的HTTP动词 允许通过HTTP上传 锁定/解锁 登记/检验web内容行御知 Office 中的 Save to web 就是通过WebDAV来实现的 如果你所感兴趣的一切都是上传内容 WebDAV应用得非常出色 它解决了很多问题 然而 如果你需要在你的web应用程序里面上传文件 WebDAV对你就毫无用处可言 象HTTP PUT一样 那些WebDAV的动词是被解释的 而不是web应用程序 你需要工作在ISAPI过滤层来访问WebDAV的这些动词 并在你的应用程序中解释内容

RFC () 最终被W C在HTML 中接受前 是作为一种建议标准 它是一种非常简单但是功能很强大的想法 在表单字段中定义一个新类型 <INPUT TYPE= FILE >

并且在表单本身加入了不同的编码方案 不再使用典型的 <FORM ACTION= formproc asp METHOD= POST > 而是使用 <FORM ACTION= formproc asp METHOD= POST ENCTYPE= multipart/form data >

这种编码方案在传送大量数据的时候 比起缺省的 application/x url encoded 表单编码方案 显得效率要高得多 URL编码只有很有限的字符集 使用任何超出字档消符集的字符 必须用 %nn 代替 这里的nn表示相应的 个十六进制数字 例如 即使是普通的空格字符也要用 % 代替 而RFC 使用多部分MIME编码 就象通常在e mail消息中看到的那样 不编码来传送大量数据 而只是在数据周围加上很少的简单但实用的头部 主要的厂商都采用了建议的 浏览…… 按钮 用户能很容易的使用本地 打开文件…… 对话框选择要上传的文件

RFC 仍然将大多数文件上传的灵活方法留给了你的web应用程序 PUT用得很有限 WebDAV对内容的作者很有用 比如FrontPage用户 但是对想在web应用程序中加入文件上传的web开发者来说很少用到 因此 RFC 是在web应用程序中加入文件上传的最好的办法

在实际应用中 免费提供了Posting Acceptor ASP不懂 multipart/form data 编码方案 取而代之 提供了Posting Acceptor Posting Acceptor是一种在上传完成后 接受REPOST到一个ASP页的ISAPI应用程序

Sofare Artisans的SA FileUp是最早的商业Active Server之一 几经改进 现在作为一个纯粹的ASP存在

二 基于ASP的文件上传实现原理分析

基本原理是 采用ADO Stream对象的BinaryRead方法将FORM中的所有数据读出 从中截取出所需的文件数据 以二进制文件方式存盘

下面是上传文件页面的一个例子() <><body><form name= Upload Method= Post Enctype= multipart/form data Action= Upload asp ><input type= file name= FileName ><INPUT TYPE= Submit VALUE= Upload ></TD></form></body></>

程序中使用了文件对象 这样在Upload asp中采用BinaryRead方法读来的原始数据就不仅仅是选择的文件本身的数据 还包含该文件在用户硬盘上的路径 类型 提交页面的表单等相关信息的描述 这样我们就需从中提取出文件的具体内容 根据分析 数据的头部信息与数据的分界线是两对回车换行符 尾部也有分隔信息 我们可以采用类似以下的方法获取文件数据 Dim FormData FormSize DataStart CLStr DivStrFormSize=Request TotalBytesFormData=Request BinaryRead(FormSize)CLStr=ChrB( )&ChrB( )DataStart=InStrB(FormData CLStr&CLStr)+ 是两对回车换行符的长度DivStr=LeftB(FormData InStrB(FormData CLStr) )DataSize=InStrB(DataStart+ FormData DivStr) DataStart FormData=MidB(FormData DataStart DataSize) FormData就是文件的内容了 中间根据需要 可进行相应的处理 最后的工作就是将文件保存了 保存的方法可以有两种 一种是利用VB或VC之类程序中的二进制文件操作方法 在工程中加入适当的类型库 最终编译成DLL文件 使用时再将该DLL文件注册就可以了 文件存贮程序如下 Public Function SaveFile(Pathname As String) As String Dim objContext As ObjectContext Dim objRequest As Request Set objContext=GetObjectContext() Set objRequest=objContext( Request ) 以下的一段代码是进行文件存贮的有关操作Dim FormData() As Byte CLStr DivStr Dim DataStart As Long DataSize As Long DataSize=objRequest TotalBytes Redim FormData(DataSize ) FormData=objRequest BinaryRead(DataSize) CLStr=ChrB( ) & ChrB( ) DataStart=InStrB(FormData CLStr & CLStr)+ DivStr=LeftB(FormData InStrB(FormData CLStr) ) DataSize=InStrB(DataStart+ FormData DivStr) DataStart FormData=MidB(FormData DataStart DataSize) 创建一个二进制文件并将FormData写入其中 Open Pathname For Binary As Put # FormData Close # SaveFile= OK! End Function 第二种方法是利用ADO STREAM中提供的二进制文件操作方法来完成 保存文件的语句是 StreamOBJ SaveToFile (fileName ) 在 这种操作中 我们可以将有关的操作存放在一个类文件中 在应用时 直接将该类文件包含在ASP程序中就可以了 具体处理方法 请参阅有关介绍 三.文件上传实现方法实例 实现文件上传可使用或无方式 对于类 比如说microsoft posting acceptor(简称mpa) 就是公司发布的一个免费 这类的安装也比较方便 对于的mpa 运行它的安装文件就可以了 而一般的dll形式的 我们则需要进行注册 例如 要使用aspcnUP dll 只要在Window 上执行regsvr [path]aspcnUP dll 系统出现注册成功的信息提示就可以使用该了 对于无类 如的无上传类 upload_ xsoft 在使用时 只要在处理程序中包含以下的语句就可以了 <! #include FILE= upload inc >set upload=new upload_ xSoft 建立上传对象 有关的属性与操作方法 请参阅该的使用手册 下面是詀spcnUP dll为例 上传部分类型文件的源代码(upload asp) <% @ language= vbscript Set fileUP=Server CreateObject( aspcn Upload )fileUP Maxsize= fileUP Path= d:upfile fileUP UploadFor i= to fileUP Countfieldname=fileUP FieldName(i)If fileUP FileType(fieldname)= zip Or ileUP FileType(fieldname)= rar ThenfileUP Save fieldnameEnd If NextSet fileUP=Nothing%> 四.结束语 应用模式还在快速地发展着 在ASP.NET中 已经内置了文件上传的功能 使用非常简单方便 作为一种全新的技术 ASP.NET并不只是ASP的简单升级 它是一个用于Web开发的全新框架 其中包含了许多新的特性 ASP.NET提供了更易于编写 结构更清晰的代码 利用这些代码我们将会更容易地进行再利用和共享 从而开发出更多更实用的程序来 lishixin/Article/program/net/201311/13562

❹ Bat脚本处理ftp超强案例分析

前言 公司有几百台windows服务器 每次程序更新 如果是一台台拷数据 只怕安排十个人 一天都不一定做得完 所以就必须研究个全自动更新方案来 于是就想到了FTP 做个主FTP站 在几百台客户机上启动BAT脚本 每 秒检测一次 如果主站有更新程序 就自动下载更新 几分钟内 上 台windows服务器 都可以全自动更新程序完毕 相当实用 现把当初研究BAT的脚本思路贴出来 希望对大批量运维人员一个方向 当然 批量更新服务器 每个公司有它自己的解决办法 这个BAT的方式不是最优的 可以用shell 可以用perl 也可以用python等脚本解决 一 FTP命令说明 在windows系统中因为FTP是一个程序 如果在bat脚本中直接调用FTP的命令 在执行时总会弹出命令行窗口 循环在>FTP光标这 所以要换种方式 利用 S:filename 更多的命令请输入 h查看 FTP登录成功后 需要下载远程单个文件时 使用get命令 如果下载多个文件时 用mget 它支持通配符 在使用mget时 需要对每一个文件都进行选择Y/N 如果想不交互的下载全部的文件 可以输入一次prompt命令关闭交互方式 Mput和mget命令要注意两个问题 Ⅰ 不能对目标文件指定命字 在命令行上所有的文件都视做源文件 Ⅱ mput mget两个命令不能对目录进行上传与下载 只能对文件 Ⅲ Prompt 每次执行一个这个命令 就在on off之间循环 ftp脚本开始时 prompt默认为on 所以一般在上传 下载文件时 执行一次prompt 把交互式的on关掉 变为off 文件的传输方式 Binary 二进制传输 Ascii ascII传输 在FTP文件传输过程中 ASCII传输HTML和文本编写的文件 而二进制码传输可以传送文本和非文本(执行文件 压缩文件 图片等) 具有通用性 二进制码传输速度比ASCII传输要快 所以在建立bat脚本时 一般输入bin命令 启用二进制传输 如果用ASCII模式传输非文本文件 可能会显示一堆乱码 如果是上传一些CGI脚本 有可能将无法运行这类脚本 而在浏览器上看到server error的错误 Ascii和binary模式的区别是回车换行的处理 binary模式不对数据进行任何处理 asci模式将回车换行转换为本机的回车字符 比如Unix下是 Windows下是 Mac下是 unix系统下行结束符是一个字节 即十六进制的 A 而ms的系统是两个字节 即十六进制的 D A 所以当你用ascii方式从unix的ftp server下载文件时(不管是二进制或者文本文件 redhat的 vsftp默认是binary ascii默认关闭) 每检测到一个字节是 A 就会自动插入一个 D 所以如果你的文件是二进制文件比如可执行文件 压缩包什么的 就肯定不能用了 如果你的文件就是unix下的文本文件 你用 ascii模式是正确的 要是误用了binary模式 你在windows上看这个文件是没有换行的 里面是一个个的黑方块 在用FTP客户端传输文件时 因为这些软件都做得比较智能化 它可以根据后缀 自动启用传输模式 所以不用担心出问题 二 实例求证 环境说明 上有一FTP服务器端(windows版) FTP用户名为lgh 密码为 该用户的根目录为D lgh 里面文件见下图 sql rar是sql bat的压缩文件 大家注意看图 我等下会在后面的实例中引用这个文件 把mget get prompt bin ascii等ftp命令诠释得一清二白

实例一 直接BAT调用FTP命令 ftpbat bat内容 (***大家建立bat文件不要命名为ftp bat 执行时会有问题***)

复制代码 代码如下:

ftp open lgh get sql rar bye

从图上的结果看 bat脚本直接调用xp的FTP命令是不行的 执行时H:>ftp会一直死循环 我这里的XP系统是SP 的 其它版本的 我没有作测试 如果有不同 欢迎大家留言告之 实例二 用put get上传 下载单个文件 把XP机器上H:js目录下文件flower zip上传到FTP服务器 把FTP服务器中的sql rar文件下载到XP机器上的H:JS目录 ftp get put bat内容如下

复制代码 代码如下:

@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo get sql rar >> %ftpfilename% echo put flower zip >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%

我们来看看结果 见下面两张图 从XP系统上看 H盘的JS目录 多了个sql rar FTP服务器上的根目录多了个flower zip 这说明 刚才的脚本完成正常的执行了 达到了预期的目的

实例三 用put get上传 下载多个文件 在XP机器上把flower zip复制一次 改名为flower zip 在XP机器上把把第二次实例下载的sql rar文件删除 以免影响到本次操作 在FTP服务器上把第二次实例上传的flower zip文件删除 以免影响到本次操作 把XP机器上H:js目录下文件flower zip 和flower zip上传到FTP服务器 ftp get put many bat内容如下

复制代码 代码如下:

@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put flower zip flower zip>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%

到FTP服务器上查看根目录 看flower zip与flower zip是否已成功上传 从图上看 只成功上传了flower zip文件

刚那个ftp get put many bat脚本里echo put flower zip flower zip>> %ftpfilename% flower zip是传输的最后一个文件 是不是用put时 意味着bat在处理上传时 只认最后一个文件呢 我们再多加个文件flower zip 来验证

在XP机器上把flower zip复制一次 改名为flower zip在FTP服务器上把第二次实例上传的flower zip文件删除 以免影响到本次操作

ftp get put many bat内容修改如下

复制代码 代码如下:

@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put flower zip flower zip flower zip>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%

结果 还是只成功上传了flower zip 因bat双击时 执行过程会一闪而过 我们看不到执行过程 到命令行去执行下 看到底出了什么问题

命令行 执行ftp get put many bat脚本 从执行情况看 flower zip三个文件都是put的 但在传输时 却只传了flower zip 真不解 有知道的朋友吗?给点方向

再换个方式 用通配符* 试试 ftp get put many bat内容修改如下

复制代码 代码如下:

@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put flower* zip >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%

在FTP服务器上把上传的flower文件全部删除 以免影响到本次操作执行ftp get put many bat 结果只有flower zip文件上传成功了 呵 flower zip文件 怎么都不能上传 ???

其实用put传输多个文件 完全可用重复的方式取代 比如 ftp get put many bat内容修改如下

复制代码 代码如下:

@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put flower zip >> %ftpfilename% echo put flower zip >> %ftpfilename% echo put flower zip >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%

实例四 用mput mget上传 下载多个文件 在FTP服务器上删除有关flower的文件

ftp mget mput many bat内容如下:

复制代码 代码如下:

@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo mput flower zip flower zip flower zip>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%

双击ftp mget mput many bat后 发现系统弹出一窗口后 就卡住了 停止不前

原因是用了mput命令 但没有用Prompt关闭交互

ftp mget mput many bat内容修改如下:

复制代码 代码如下:

@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo Prompt >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo mput flower zip flower zip flower zip>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%

再次执行ftp mget mput many bat 结果见下图

用通配符*试试在FTP服务器上删除有关flower的文件ftp mget mput many bat内容修改如下:

复制代码 代码如下:

@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo Prompt >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo mput flower* zip >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%

照样成功上传有关flower* zip文件 因为结果与上一步是一样的 所以就不抓图了 实例五 用ascii在windows系统间传输非文本文件 把XP电脑上的rmb jpg通过ascii传到FTP服务器的根目录

ftp get ascii bat内容修改如下:

复制代码 代码如下:

@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo ascii >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put rmb jpg>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%

执行ftp get ascii bat后 发现rmb jpg可以正常上传 并且可以正常打开 那 这个现象与前面所以的ascii不能传输非文本东西有出入 这是怎么回会事呢 这是因为 FTP服务器是WINDOWS系统 XP电脑上的bat脚本也是在windows系统上运行的 所以bat在windows系统里用FTP传输文件 不管是用ascii 还是用binary 都是可以的 接下来我们再做一个实验 FTP服务器选centos 再测下ascii传输非文本文件问题 实例六 用ascii在windows系统与linux系统间传输非文本文件 在RHEL 位系统上建立一vsftpd服务器 上面说过redhat默认启用二进制传输 关闭了ascii码传输 所以我们还要修改一下vsftpd的配置文件 修改/etc/vsftpd/nf文件 允许客户端进行ascii传输 并重启vsftpd

把rmb jpg放到FTP服务器 大家注意下H:js目录下只有ftp getascii bat文件

ftp getascii bat文件内容修改如下

复制代码 代码如下:

@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo ftp >> %ftpfilename% echo redhat >> %ftpfilename% echo asc >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo get rmb jpg >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%

执行ftp getascii bat 看结果 rmb jpg文件有下载到XP电脑里 双击这个文件 发现图像乱码 文件被破坏了 都是ascii码传输惹的祸

换bin传输 测试一下在XP电脑上删除rmb jpg文件 再双击ftp getascii bat文件 去从LINUX的FTP服务器下载一个rmb jpg文件

修改ftp getascii bat 把ascii改给二进制传输

复制代码 代码如下:

@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo ftp >> %ftpfilename% echo redhat >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo get rmb jpg >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%

结果 文件正常下载 图像也显示正常 lishixin/Article/program/qrs/201401/30223

热点内容
算法和人性 发布:2025-01-20 03:28:31 浏览:473
软件编程1级 发布:2025-01-20 03:19:39 浏览:952
嫁个编程男 发布:2025-01-20 02:51:39 浏览:933
挂劳文件夹 发布:2025-01-20 02:44:22 浏览:521
写编程英文 发布:2025-01-20 02:37:50 浏览:16
安卓怎么修改饥荒 发布:2025-01-20 02:20:54 浏览:619
android64位开发环境 发布:2025-01-20 01:58:01 浏览:262
阿里云服务器能搭美国站点 发布:2025-01-20 01:49:34 浏览:279
安卓手机壁纸如何更换成动态壁纸 发布:2025-01-20 01:40:27 浏览:706
安卓微信签名在哪里修改 发布:2025-01-20 01:25:31 浏览:110