TCP/IP详解——FTP 协议,Telnet协议

1. FTP 协议

FTP 数据传输协议,属于是成块数据流

1.1 FTP的应用

image-20230721161014321

FTP是用来传送文件的协议。使用FTP实现远程文件传输的同时,还可以保证数据传输的可靠性和高效性。

1.2 FTP传输文件的过程

TCP连接

image-20230721161041629

使用FTP进行文件传输时,会使用两个TCP连接。

  • 第一个连接是FTP客户端和FTP服务器间的控制连接。FTP服务器开启21号端口,等待FTP客户端发送连接请求。FTP客户端随机开启端口,向服务器发送建立连接的请求。控制连接用于在服务器和客户端之间传输控制命令。

  • 第二个连接是FTP客户端和FTP服务器间的数据连接。FTP服务器使用TCP的20号端口与客户端建立数据连接。通常情况下,服务器主动建立或中断数据连接。

1.3 FTP传输模式

image-20230721161159488

FTP传输数据时支持两种传输模式:ASCII模式二进制模式

  • ASCII模式用于传输文本。发送端的字符在发送前被转换成ASCII码格式之后进行传输,接收端收到之后再将其转换成字符。

  • 二进制模式常用于发送图片文件和程序文件。发送端在发送这些文件时无需转换格式,即可传输。

两个信道

  • 控制信道(21端口)
  • 数据信道(20端口)

FTP的两个模式

  • 主动模式(Active Mode)
  • 被动模式(Passive Mode)

通常都是使用的是被动模式Passive Mode,不管是什么模式第一信道都是不变的,所有的区别都在第二信道中。

1.4 主动模式(Active Mode)

在第一个信道中主要是认证,还要进行三次握手的建立。在FTP上要下载文件,这样就需要建立第二信道,也就是所有服务器给客户端的数据都是在第二信道中传递的。

在第一个信道中发送PORT命令,由客户发送给服务器,在PORT中有6个数字,分别用(a,b,c,d,e,f)来表示。这6个数字用逗号来分割。其作用是告诉客户端它的IP地址是a.b.c.d,端口号是e*256+f 的结果为目的端口号。

服务器发起第二信道,源端口是20号端口,目的端口是e*256+f,在第二信道中也要进行三次握手的建立,所有数据都要在第二信道中进行传输。

1.5 Active Mode 抓包分析

首先在虚拟机中开启FTP服务端

image-20231123211726727

然后本机启动FTP客户端,进行连接。

image-20231123211836903

在连接的时候使用OmniPeek进行抓包

image-20231123211916855

很明显用户名和密码被抓取出来了,所以FTP是不安全的。

image-20231123213713201

第一个信道中发送PORT,在PORT中有6个数字,分别是(192,168,188,229,192,157)。

image-20231123213748945

192*256+157=49309,这个49309就是目的端口,而192.138.188.229就是FTP服务端的 IP 地址。

第一次建立第二信道发送listing,意思是罗列清单查看FTP上有哪些文件和数据。这些信息都是通过第二信道主动发送的。

image-20231123213926688

向下拖动还发现一个PORT命令,这个是第二次建立第二信道,表示下载FTP上的wuhu文件。只要是服务器过来的数据都要建立第二信道。

image-20231123214441959

1.6 被动模式(Passive Mode)

客户端发送PASV命令,该命令就是询问服务器是否支持Passive Mode。如果服务器支持会回复227,还有6个数字并且用的逗号分割。服务器地址是a.b.c.d,所连接的端口号是e*256+f。

第二信道客户端是随机端口,目的端口号是e*256+f,双方都是动态的端口号。

1.7 Passive Mode 抓包分析

通常都是使用的是被动模式Passive Mode。

客户端发送PASV命令,并且在下面的TCP三次握手发现源端口和目的端口都是动态的。

image-20231124101156628

2. Telnet 协议

2.1 Telnet 概念

Telnet 协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。属于是交互式数据流,明文传输用户名和密码非常的不安全。占用**23端口号**。

它为用户提供了在本地计算机上完成远程主机远作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制路由器的方法

特点

  1. 交互式TCP数据流特点
  2. 安全问题(替代协议SSH)

2.2 Telnet 协议抓包分析

在本机cmd窗口输入如下命令进行Telnet远程登录。

telnet 192.168.188.227

然后输入虚拟机中的用户名,密码,管理员名称。

image-20231124113423838

登录成功弹出如下界面

image-20231124113334330

在登录的过程中进行抓包,这里使用的是OmniPeek,原因是因为这个比起Wireshark更加的方便对数据包进行分析。

image-20231124113544080

可以看到在本机输入的用户名和密码被抓取到了,这样就非常的不安全。

image-20231124113753409

而且Telnet是属于TCP的交互式数据流,在输入用户名和密码的时候,数据包是客户端发送一个,服务端接受一个。这样在抓取到的数据包中看到客户端和服务端一来一回的一个交互过程。

image-20231124134042534

在数据包内容中可以看到目的端口是23,也就是Telnet所占用的端口号。

image-20231124114240178

CSNAS 抓包分析
在这里插入图片描述

  • 30
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
TCP/IP详解 卷2:协议下载》是由Douglas E. Comer所著的一本计算机网络书籍,它是《TCP/IP详解》系列的第二卷。 本书主要讲解了TCP/IP协议家族中的各种协议和相关技术。第一章介绍了传输层协议TCP和UDP的特性、功能以及应用,包括其提供可靠性、流量控制、拥塞控制等机制。第二章讲解了分组交换网络中的传输层协议的实现,包括滑动窗口、超时重传、可靠传输机制等。 第三章至第五章侧重于网络协议IP的相关知识。第三章讲解了IP地址的分配、子网划分以及路由选择算法。第四章介绍了ICMP协议,它用于网络中的错误报告和网络管理。第五章则讨论了IPv6协议,介绍了其与IPv4的不同之处以及IPv6的地址分配和路由选择。 第六章和第七章分别讲解了数据链路层协议和局域网技术。第六章介绍了以太网的工作原理、帧结构以及其它数据链路层协议的特点,包括ARP、RARP等。第七章则讨论了以太网上的网络操作系统、交换机和无线局域网等局域网技术。 第八章至第十章介绍了广域网技术。第八章讲解了传输控制协议TCPIP在广域网中的应用和协同工作机制。第九章介绍了路由选择协议RIP和OSPF,以及路由选择机制的原理和实现。第十章讲解了一些其他的广域网协议和技术,包括点对点协议、帧中继和ATM等。 总结而言,《TCP/IP详解 卷2:协议下载》是一本全面介绍TCP/IP协议家族的著作,涵盖了传输层、网络层、数据链路层以及广域网技术的相关协议和技术。读者通过学习该书,能够深入了解TCP/IP协议的工作原理和实现,掌握网络通信的基本知识和技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来日可期x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值