前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【实验笔记】搭建FTP服务器并登录,抓包验证

【实验笔记】搭建FTP服务器并登录,抓包验证

作者头像
释然
发布2022-12-20 20:32:55
1.1K0
发布2022-12-20 20:32:55
举报
文章被收录于专栏:释然IT杂谈释然IT杂谈

拓扑:直连,一台做FTP-Server,一台FTP-Client。

FTP-Server配置

代码语言:javascript
复制
system-view
//进入系统视图
[FTP-server]sysname FTP-Server
//设置系统名称为 FTP-Server
[FTP-Server]int g0/0/0
//进入G0/0/0接口
[FTP-Server-GigabitEthernet0/0/0]ip address 200.100.1.1/30
//设置IP为200.100.1.1 30位子网  的地址
[FTP-Server-GigabitEthernet0/0/0]undo shutdown
//路由器默认端口是关闭状态,需要打开
[FTP-Server-GigabitEthernet0/0/0]q
//退出接口 需要进入系统视图配置ftp
[FTP-Server]ftp server enable
//启用ftp服务
Info: The FTP server is already enabled
//信息告知,FTP服务已经启用
[FTP-Server]aaa
//进入3a视图
[FTP-Server-aaa]local-user lucas password cipher Pass@word privilege level 15 ft
p-directory flash:
Info: Add a new user.
//设置本地用户lucas 密码加密 pass@word, 优先级别15,并设置ftp目录
[FTP-Server-aaa]

FTP-client配置

代码语言:javascript
复制
system-view
//进入系统视图
[FTP-Client]sysname FTP-client
//设置系统名为 FTP-client
[FTP-client]int g0/0/0
//进入g0/0/0接口
[FTP-client-GigabitEthernet0/0/0]ip address 200.100.1.2 30
//设置ip地址200.100.1.2 30位子网 地址
[FTP-client-GigabitEthernet0/0/0]undo shutdown
//路由默认端口关闭,需要打开
[FTP-client-GigabitEthernet0/0/0]q
[FTP-client]ping 200.100.1.1
//验证直连通讯状态
PING 200.100.1.1: 56  data bytes, press CTRL_C to break
Reply from 200.100.1.1: bytes=56 Sequence=1 ttl=255 time=20 ms
Reply from 200.100.1.1: bytes=56 Sequence=2 ttl=255 time=20 ms
Reply from 200.100.1.1: bytes=56 Sequence=3 ttl=255 time=10 ms
Reply from 200.100.1.1: bytes=56 Sequence=4 ttl=255 time=30 ms
Reply from 200.100.1.1: bytes=56 Sequence=5 ttl=255 time=20 ms
--- 200.100.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 10/20/30 ms

ftp验证

代码语言:javascript
复制
ftp 200.100.1.1
Trying 200.100.1.1 ...
Press CTRL+K to abort
Connected to 200.100.1.1.
220 FTP service ready.
User(200.100.1.1:(none)):lucas
331 Password required for lucas.
Enter password:
230 User logged in.

连接成功。

回到FTP-Server 查看 TCP会话状态

代码语言:javascript
复制
display tcp status
TCPCB    Tid/Soid Local Add:port        Foreign Add:port      VPNID  State
b4a1b538 208/1    0.0.0.0:21            0.0.0.0:0             23553  Listening
b4a1b67c 6  /1    0.0.0.0:23            0.0.0.0:0             23553  Listening
b4a1bf58 208/5    200.100.1.1:21        200.100.1.2:49403     0      Established
//本地端口21    //外部端口:49403      //状态:已经建立   表示当前会话已经建立

抓包分析

//TCP 三次握手, 由200.100.1.2 ftp-client发送TCP 动态端口50518到目的200.100.1.1 ftp-server静态端口21,请求建立连接,序列号为0,windows窗口大小8192,长度为0,最大段尺寸1460

由200.100.1.1 ftp-server收到200.100.1.2ftp-client的建立连接请求序列号为0,并做确认回答 ,又向200.100.1.1发起一个序列号为0的请求,确认号为1,窗口8192,长度0,最大段尺寸1460

由200.100.1.2收到1.1的TCP请求 确认,至此TCP三次握手已经完成,FTP会话已经建立

代码语言:javascript
复制
//响应  ftp服务准备好了。
//1.2 客户端  又向1.1FTP服务端请求确认 号21,序号1,确认号=25,窗口大小8192,长度0.
//1.2 客户端 向1.1服务端 提交用户 lucas账号
//FTP服务器1.1告诉FTP客户端1.2 需要输入 密码
//ftp客户端1.2又向1.1服务端发起一个TCP确认号21,序号13,确认号59,窗口8192,长度0
//然后ftp1.2提交了密码Pass@word, 因为FTP是明文协议。所以抓包可以看到
//服务端1.1相应客户端1.2,用户已经登录成功
代码语言:javascript
复制
//ftp数据,大小 ,
在1.2客户端上获取2012.zip 生成的数据,并传输完成
 [FTP-client-ftp]get 2012.zip
Warning: The file 2012.zip already exists. Overwrite it? (y/n)[n]:y
200 Port command okay.
150 Opening ASCII mode data connection for 2012.zip.
226 Transfer complete.
FTP: 590 byte(s) received in 0.120 second(s) 4.91Kbyte(s)/sec.
代码语言:javascript
复制
//之后再1.2客户端上 退出登录,
//FTP服务端收到响应,会话就关闭了
//之后TCP 四次断开。由1.1服务端向1.2客户端发起TCP rst重置确认,序列号344,确认号132,win窗口大小8192,长度0
//1.2客户端收到1.1服务端tcp会话完成确认,序号132,确认号344,win窗口大小8192,长度0
//1.1服务端收到1.2客户端会话完成确认,会话重置。序号344,窗口大小8192,长度0.
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-09-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 释然IT杂谈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档