FTP再学习 (四)

Wireshark学习FTP流程 一.Wireshark概述 在windows下, 图1 Wireshark界面展示(基于1.99.1)   Wireshark是通过底层的winpcap来实现抓包的。winpcap是用于网络封包抓取的一套工具,可适用于32/64位的操作平台上解析网络封包,包含了数据包截获驱动程序,一个底层动态链接库,和一个高层静态链接库,winpcap在内核中把所有网卡收到的报文复制一份。 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

匿名FTP
由于登录FTP需要相应的账号和密码,这对于那些公共的FTP站点不太方便。使用匿名FTP则有效的解决这个问题。所谓匿名FTP,即是任何人都可以使用通用账号Anonymous登录,所需密码为(任意的)自己的email地址。这个密码只是为了方便服务器端log之用。

匿名FTP需要注意的一点就是,在有些FTP实现上,如果客户端的IP无法反向解析到一个主机名称的话,服务器将拒绝登录。

所谓反向解析就是指从一个IP查询其对应的DNS名称的过程。很多主机一般比较注意从DNS名称到IP的正向解析,而对反向则不那么注意。



FTP传输的中断
(出自 R. Stevens 《TCP/IP Illustrated V.1》)

现在看一下FTP客户是怎样异常中止一个来自服务器的文件传输。异常中止从客户传向服务器的文件很容易—只要客户停止在数据连接上发送数据,并发出ABOR命令到控制连接上的服务器即可。而异常中止接收就复杂多了,这是因为客户要告知服务器立即停止发送数据。我们前面提到要使用Telnet同步信号,下面的例子就是这样。

我们先发起一个接收,并在它开始后键入中断键。这里是交互会话,其中初始注册被略去:

ftp >  get a . out 取一个大文件
---
>   TYPE  I      //客户和服务器都是8 bit字节的Unix系统
200   Type   set  to I .
---
>  PORT  140 , 252 , 13 , 66 , 4 , 99
200  PORT  command  successful .
---
>  RETR a . out
150  Opening BINARY  mode  data connection  for  a . out  ( 28672  bytes ).
^ ?     //键入的中断键
receive aborted   //客户端输出
waiting 
for  remote to finish abort    //客户端输出
426  Transfer aborted .  Data connection closed .
226  Abort successful
1536  bytes received in  1.7  seconds  ( 0.89  Kbytes / s )

在我们键入中断键之后,客户立即告知我们它将发起异常中止,并正在等待服务器完成。服务器发出两个应答: 426和226。这两个应答都是由Unix 服务器在收到来自客户的紧急数据和ABOR命令时发出的。

下面两幅图片显示的就是这个过程。其中左边的bsdi是客户端,IP 140.252.13.66;右边的slip是FTP服务器,IP为140.252.13.65。最左端显示的时间点。开始bsdi向slip发送TYPE I命令,将传输设置为Image,也即Binary模式。途中的实线部分表示控制连接,虚线标志数据连接。
ftp abort 1





























上面是数据开始传输,中断命令发出之前的部分。

ftp abort 2



































报文段13是数据连接上来自服务器的第6个数据报文段,后跟由我们键入的中断键产生的报文段14。客户发出10个字节来异常中止传输:

<  IAC,IP,IAC,DM,A,B,R, r, n  >

我们看到有两个报文段(14和15)涉及到TCP的紧急指针(我们在图26 - 17中看过对Telnet问题也做相同的处理)。Host Requirements RFC指出紧急指针应指向紧急数据的最后一个字节,而多数伯克利的派生实现使之指向紧急数据最后一个字节后面的第一个字节。了解到紧急指针将(错误地)指向下一个要写的字节(数据标志,DM。在序号为54处),FTP客户进程特意写前3个字节作为紧急数据。首先写下的3字节紧急数据与紧急指针一起被立即发送,紧接着是后面7个字节(BSD FTP 服务器不会出现由客户使用的紧急指针的解释问题。当服务器收到控制连接上的紧急数据时,它读下一个FTP命令,寻找ABOR或STAT,忽略嵌入的Telnet命令)。

注意到尽管服务器指出传输被异常中止(报文段18,在控制连接上),客户进程还要在数据连接上再接收14个报文段的数据(序列号是1537 ~ 5120)。这些报文段可能在收到异常中止时,还在服务器上的网络设备驱动器中排队,但客户打印“收到1536字节”,意思是在发出异常中止后(报文段14和15),略去收到的所有数据报文段。一旦Telnet用户键入中断键,我们看到Unix客户在默认情况下不发出中断进程命令作为紧急数据。因为几乎没有机会用流控制来中止从客户进程到服务器进程的数据流,所以我们说这样就行了。

FTP的客户进程也通过控制连接发送一个中断进程命令,因为两个连接正在被使用,因此没有机会用流控制来中止控制连接。为什么FTP发送中断进程命令作为紧急数据而Telnet不呢?答案在于FTP使用两个连接,而Telnet只使用一个,在某些操作系统上要求一个进程同时监控两个连接的输入是困难的。FTP假设这些临界的操作系统至少提供紧急数据在控制连接上已到达的通知,而后让服务器从处理数据连接切换到控制连接上来。



---完---


参考资料:
RFC 959: File Transfer Protocol
Richard Stevens 《TCP/IP Illustrated, Vol 1 Protocol》Chapter 27
JMeter学习之路[1.FTP请求] JMeter学习之路[1.FTP请求]1.创建一个FTP请求2.FTP站点搭建攻略 1.创建一个FTP请求 详细的步骤请参考官方指南:Building an FTP Test Plan 如下例子,一共发送了4*2(file1,file2)*2(循环次数)=16个FTP请求 中文简单翻译: 1.创建线程组:右键 Test Plan->Add->Threads(Users)->Thr... 阅读详情

相关推荐

FTP学习总结

一. windows10 下搭建ftp环境 1.控制面板–》程序–》启用或关闭Windows功能–》Internet Information Service(Internet信息服务)–》选中FTP服务、FTP扩展性、IIS管理控制台 2. IIS --》添加FTP站点 二. FTP文件的上传下载 **1.添加配置文件 ftp.properties** ftp.username=ftp ftp.password= ftp.path=sxadc ftp.server=192.168.90.132 ftp.p

hugbs的博客 841

[HackMyVM]靶场 Slowman

有用户gonzalo的账号密码并且给了登录界面 /secretLOGIN/login.html。想 提权root,尝试了sudo -l,无果,尝试看进程定时任务 无果。ssh连接直接拿到user flag,还有一个python历史指令。linpeas跑一下发现python有capabilities。爆破出来账号密码是trainerjeff/soccer1。那就python的capabilities提权了。21端口匿名登陆,把passive模式关了。用john爆破一下这个hash。一下就爆出来了密码是。

qq_34942239的博客 575

ftp 断点续传实现

ftp实现断点续传,ftp支持上传续传 ftp断点续传基于c语言的实现。

linux c ftp断点续传,求个支持断点续传的ftp脚本

RT,脚本能实现断点续传么?该怎么写呢,搜索了下论坛未果,希望大家帮忙。PS:在UNIX下跑的|ftp可以,put,restart,put下面測試ftp>putlinux-2.6.24.tar.bz2local:linux-2.6.24.tar.bz2remote:linux-2.6.24.tar.bz2200PORTcommandsuccessful.Co...

weixin_36289211的博客 310

ftp连接不上出现500 Invalid PORT Command.错误

连接到 www.06356666.com, 端口 25 (#1) 解析主机为: 112.125.43.138 已连接. 正等待响应. 220 Microsoft FTP Service USER 123000 331 Password required for 123. PASS xxxxxx 230 User 123 logged in. SYST 215 Windows_NT PWD 257 "/" is current directory. TYPE A 200 Type set to A. PORT 192,168,1,100,17,228 500 Invalid PORT Command. PASV 227 Entering Passive Mode (10,247,80,183,117,51).

分布式推理服务(策略:数据并行、张量并行、流水线并行、专家并行)技术分析

摘要:分布式推理突破单GPU内存和算力限制,支持大模型部署。四种核心策略包括: 数据并行:复制模型拆分数据,提升吞吐但内存效率低; 流水线并行:模型分阶段执行,支持超大模型但存在计算气泡; 张量并行:拆分层内矩阵运算,延迟低但通信开销大; 专家并行:动态激活MoE模型专家,计算高效但路由复杂。实际应用中常组合策略(如3D并行),需权衡模型规模、硬件条件与性能目标。

技术引领业务创新 944

linux 客户端ftp 登陆成功之后ls 卡死

问题 linux 客户端登陆FTP成功后 出现ls 卡死问题,代码如下 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (172,41,38,5,234,120). ^C receive aborted waiting f

u012754182的博客 5514

【读书笔记】Verilog的亚稳态现象和跨时钟域处理方法

文章目录 一、亚稳态 (1)跨时钟域的亚稳态现象 (2)亚稳态的多径传输 二、跨时钟域处理 2.1 单bit信号跨时钟域处理 (1)单径两级触发器同步器 (2)相位控制 (3)多径与多级寄存器同步链 (4)组合逻辑信号的同步化 (5)快时钟域信号的同步化 2.2 多bit信号的跨时钟域处理 (1)异步FIFO (2)双口RAM.........

毕淑敏曾说过:“我不相信命运,我只相信自己的手;我不相信手掌上的纹路,但我相信手指加上手掌的力量”。在这个快节奏的社会,只有自己能力不足才会被卷,踏踏实实沉下心来学一些技术,及时记录,方便以后复盘。 2万+

Slowman - hackmyvm

hackmyvm的slowman靶场

tanbinn的博客 1035

Springboot+Vue 实现鸿蒙商城管理系统开发实践

通过使用 Springboot 和 Vue 技术栈,我们成功实现了鸿蒙商城管理系统的开发。系统具备用户管理、商品管理、订单管理、库存管理和统计分析等功能,支持 Web 端和鸿蒙端的访问和操作。在开发过程中,我们充分利用了 Springboot 的快速开发优势和 Vue 的组件化开发特点,提高了开发效率和系统的可维护性。同时,通过与鸿蒙设备的集成,实现了多设备之间的数据交互和协同工作,提升了用户体验。

ZXJ_SXT的博客 1324

【HarmonyOS 5】鸿蒙APP使用【团结引擎Unity】开发的案例教程

以下是基于团结引擎开发鸿蒙Unity应用的详细案例教程,整合环境配置、工程适配、跨语言通信等核心环节。

2201_75709314的博客 2483

PHP的FTP学习(四)

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 262

ros系统在Debian系统上的移植

摘要:本文详细介绍了在Debian系统上移植ROS(机器人操作系统)的完整流程。主要内容包括:1)Debian版本与ROS版本的对应关系;2)配置软件源和安装依赖的具体命令;3)安装ROS核心组件和开发工具的步骤;4)常见兼容性问题的解决方案;5)性能优化和维护建议。重点强调了版本匹配的重要性,推荐选择LTS版本组合(如Debian11+ROS Noetic),并提供了从基本安装到自定义功能包编译的全套方案。文中包含详细的终端命令,可帮助用户顺利完成ROS移植并解决可能遇到的问题。

start_up_go的博客 1493

我的LINUX学习之路之四之linux下搭建FTP服务器

今天说下RHEL6.3下搭建FTP服务器的过程用这个vsftpd!因为我刚做完,所以这篇文章从卸载FTP开始!欢迎扔砖过来,反正也砸不到我哈哈!我是在图形界面做的,所以,先在桌面上右键,选在终端中打开,打开命令行进入命令行后,我们先看下是否安装了FTP,当然我这里是已经安装了,这里可以在普通用户下执行,不用root权限rpm–aqvsftpd或rpm–qa|gre...

weixin_34205076的博客 109

uniapp 如何封装实现任意页面都能使用的全局弹窗

项目内容场景全局监听消息提示难点uniapp 无法全局挂载组件解决方案动态创建 DOM + 动态 Vue 实例优势跨页面 / 不依赖页面组件树 / 灵活调用如果你使用的是小程序平台,DOM 操作可能受限,需要用或方式兼容处理。想支持多个弹窗堆叠?你可以扩展,加个弹窗队列管理器。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 944

第三节:Vben Admin登录对接后端login接口

上一节,我们梳理的Vben Admin登录功能接口的逻辑,本节开始正式开启后端的开发后端我们采用Python的Flask项目,Flask-SQLAlchemy管理数据库模型,Flask-Migrate进行模型迁移。参考版本如下:Flask3.0.23.1.1本节,我们已经开启的后端的开发,因为是主要介绍Vben Admin的登录逻辑,所以Flask开发这里只截取了部分主要代码。

cuiwin的专栏 4191

Linux学习笔记(四)--ftp文件共享

在Linux和其他机器之间共享文件  ftp  server vsftpd   稳定,安全 一.下载 sudo apt-get install vsftpd   apt-get autoremove  vsftpd   移除软件 二.启动vsftpd 服务     后台程序 service vsftpd start 三.测试

三人行,必有我师焉。 1180

Quartus II编译时出现Error (119013): Current license file does not support the EP4CE6E22C6 device

Quartus II编译时出现Error (119013): Current license file does not support the EP4CE6E22C6 device, Quartus的安装过程不同于ISE/vivado的安装。“Current license file does not support”这种情况多出现在高版本的quartus中综合很久以前的代码,使用很早型号的FPGA或是CPLD。对于这种情况,就得在官网或是其他网站上下载包含所需Device的库文件。

夜半少年的博客 1万+

【创建FTP】如何在内网创建属于自己的FTP

如何在内网创建属于自己的FTP

恒等于C的博客欢迎您 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

FTP - 学习/实践

FTP(文件传输协议)是一种用于网络文件传输的标准协议,基于客户端-服务器模型运行,通过控制通道(端口21)和数据通道(端口20)实现文件操作。FTP广泛应用于网站维护、大文件传输、企业内部共享等场景,支持跨平台使用和自动化脚本。其历史可追溯至1971年,经多次修订后形成RFC959标准,1990年代因匿名访问功能盛行,后因安全性问题衍生出SFTP/FTPS加密版本。尽管面临云存储等新技术的冲击,FTP在批量文件传输等特定场景仍具不可替代性。

"代码"的日常搬运 1213

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

五款优秀的FTP工具

可以跳过指定的文件类型,只传送需要的本件;内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

Python_paipai的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

实验四:MSF渗透测试之FTP漏洞模块

这里有两个目录很重要。bash_history,因为它保存用户运行过的所有命令的历史记录。例如,可以找到有关用户 ID、密码、机密文件的信息名称、位置、服务器名称和共享文件夹。来显示当前目录和子目录以及我们对目录的权限的列表。如果特定版本没有任何公开漏洞,那么我们可以尝试使用字典攻击来查找有效的用户名和密码。这一步即使不知道ftp的username和password也可以得到一些信息。2.尝试通过控制台连接到FTP服务器 查看服务器版本信息和操作系统。1.可以使用hydra爆破ftp服务器的用户名和密码。

weixin_45822468的博客 1922

Linux网络实战(四)- FTP服务器搭建

头歌 Linux网络实战(四)- FTP服务器搭建

2301_79585673的博客 9802

eNSP学习——配置通过FTP进行文件操作

eNSP学习——配置通过FTP进行文件操作

TXFBAP的博客 6240
上一篇: OpenBSD升级指南: 4.0 to 4.1
下一篇: PC-BSD 1.4 available for download
bsdplus
博客等级 码龄19年 3粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值