设为首页 收藏本站
查看: 1409|回复: 0

通过解读数据包内容对FTP协议的分析

[复制链接]

尚未签到

发表于 2015-5-26 10:28:40 | 显示全部楼层 |阅读模式
  准备好两台局域网内的电脑,一台配置为FTP服务器,另一台进行登录,并使用Wireshark抓包。
  此时两台电脑的基本状态为:两台电脑(Win7系统)直接通过网线相连,其中FTP服务器的IP设为192.168.1.1,客户端的IP为192.168.1.2。FTP工具为Filezilla(由xampp附带)。
DSC0000.png
  抓取的包相当杂乱,于是使用过滤器(Filter)对其进行过滤。
DSC0001.png
  当过滤出这些FTP包后猛地一惊,大片的黑底红字,即Bad TCP。相应显示的错误信息为“Header checksum:0x0000 [incorrect, should be 0xb2d1 (maybe cause by 'IP Checksum Offload'?)]”。网上搜索后才知道,其实,这是由于网卡中关于“硬件校验和(Offload checksum)”的选项所致。
DSC0002.png
  我的电脑中该项值为“Rx & Tx 开启”,即Windows的传输层将随机填充TCP校验和,因此在本机上抓取的数据包是Bad CheckSum。但网卡会自动计算正确的校验码然后发送,因此对方收到的仍然是正确的TCP包。
      下面对FTP包做简要分析:
      DSC0003.png
  上图是前几个FTP包。具体的“对话内容”有:
  [客户端通过浏览器访问FTP服务器]
  服务器(S):220(服务就绪,执行新用户请求),并发送了一个欢迎页面。
  客户端(C):USER anonymous。
  S:331(用户名正确,需要密码)。
  C:PASS chrome@example.com。
  S:530(未登录),not log in, user account has been disabled(账户无效)。
  C:quit(退出)。
  以上内容应该为浏览器自动执行,以试图以匿名用户身份登录服务器,但我在FTP服务期设置时Disabled掉了用户anonymous的使用权,所以登录失效了。浏览器出现了登录的对话框。
  S:220(服务就绪,执行新用户请求),并发送了一个欢迎页面。
  C:USER test。
  S:331(用户名正确,需要密码)。
  C:PASS test。
  S:230(用户已登录,继续进行。),log on。
  C:SYST(获取FTP服务器的操作系统)。
  S:215(回复系统类型),UNIX emulated by Filezilla(由Filezilla仿真了一个Unix的系统)。
  C:PWD(获取当前目录)。
  S:257(创建pathname),返回了“/”根目录。
  C:TYPE I(设置二进制流数据传输。TYPE A为ASCII码,默认。)。
  S:200(确定命令), Type set to I。
  C:EPSV(针对IPV6的被动模式。IPV4的主、被动模式分别为PORT、PASV,IPV6分别为EPRT、EPSV。)。
  S:229,Entering Extended Passive Mode(这是一个报错,在DOS环境下需Ctrl+C然后键入EPSV4 OFF,但浏览器下未进行操作)。
  C:SIZE /...(获取服务器上相应文件的大小)。
  S:213(文件状态),...。
  C:CWD /...(更换文件目录,Change working directory)。
  S:550(请求拒绝),CWD Failed(这里是因为上面我选中的是exe文件,仍处于根目录中,不能进行更换路径操作)。
  C:RETR /...(文件传输,File Transfer)。
  S:150(文件状态正常,准备打开数据连接),Connection accept。
  [数据传输]
  S:226(关闭数据连接,请求操作成功),Transfer OK。
  C:quit
  S:221(关闭控制连接),Goodbye。
  以上便是通过抓包,对一次FTP服务器访问过程的解读。接下来,我将着手整理出FTP的状态码和命令。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-70817-1-1.html 上篇帖子: ftp://ftp.xilinx.com/pub/applications/refdes/ 下篇帖子: c#实现FTP上传
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表