ftp报文协议格式
㈠ 与ftp服务器建立连接的过程中发送和接收了哪些ftp报文和tcp报文段
在TCP报文的报头中,有几个标志字段:
1、 SYN:同步连接序号,TCP SYN报文就是把这个标志设置为1,来请求建立连接;
2、 ACK:请求/应答状态。0为请求,1为应答;
3、 FIN:结束连线。如果FIN为0是结束连线请求,FIN为1表示结束连线;
4、 RST:连线复位,首先断开连接,然后重建;
5、 PSH:通知协议栈尽快把TCP数据提交给上层程序处理。
可能出现的扫描:(33/ppt11 - 43/ppt11 介绍了下面各种扫描的做法及优缺点)
§基本的TCP connect()扫描
§TCP SYN扫描(半开连接扫描, half open)
§TCP Fin扫描(秘密扫描,stealth)
§TCP ftp proxy扫描(bounce attack)
§用IP分片进行SYN/FIN扫描(躲开包过滤防火墙)
§UDP recvfrom扫描
§UDP ICMP端口不可达扫描
§Reverse-ident扫描
(针对TCP中SYN、RST、FIN标志字段可能出现的攻击,记一下名称应该就可以了)
端口扫描攻击:
攻击者计算机便可以通过发送合适的报文,判断目标计算机哪些TCP或UDP端口是开放的,过程如下:
1、 发出端口号从0开始依次递增的TCP SYN或UDP报文(端口号是一个16比特的数字,这样最大为65535,数量很有限); 2、 如果收到了针对这个TCP报文的RST报文,或针对这个UDP报文的ICMP不可达报文,则说明这个端口没有开放; 3、 相反,如果收到了针对这个TCP SYN报文的ACK报文,或者没有接收到任何针对该UDP报文的ICMP报文,则说明该TCP端口是开放的,UDP端口可能开放(因为有的实现中可能不回应ICMP不可达报文,即使该UDP端口没有开放)。 这样继续下去,便可以很容易的判断出目标计算机开放了哪些TCP或UDP端口,然后针对端口的具体数字,进行下一步攻击,这就是所谓的端口扫描攻击。
TCP SYN拒绝服务攻击;
1、 攻击者向目标计算机发送一个TCP SYN报文; 2、 目标计算机收到这个报文后,建立TCP连接控制结构(TCB),并回应一个ACK,等待发起者的回应; 3、 而发起者则不向目标计算机回应ACK报文,这样导致目标计算机一致处于等待状态。
分片IP报文攻击:
为了传送一个大的IP报文,IP协议栈需要根据链路接口的MTU对该IP报文进行分片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP分片报文组装起来。
目标计算机在处理这些分片报文的时候,会把先到的分片报文缓存起来,然后一直等待后续的分片报文,这个过程会消耗掉一部分内存,以及一些IP协议栈的数据结构。如果攻击者给目标计算机只发送一片分片报文,而不发送所有的分片报文,这样攻击者计算机便会一直等待(直到一个内部计时器到时),如果攻击者发送了大量的分片报文,就会消耗掉目标计算机的资源,而导致不能相应正常的IP报文,这也是一种DOS攻击。
SYN比特和FIN比特同时设置:
正常情况下,SYN标志(连接请求标志)和FIN标志(连接拆除标志)是不能同时出现在一个TCP报文中的。而且RFC也没有规定IP协议栈如何处理这样的畸形报文,因此,各个操作系统的协议栈在收到这样的报文后的处理方式也不同,攻击者就可以利用这个特征,通过发送SYN和FIN同时设置的报文,来判断操作系统的类型,然后针对该操作系统,进行进一步的攻击。
㈡ 常见的协议号和端口号
常见的协议号和端口号如下:
常见的协议号: ICMP:Internet控制报文协议,编号1。 IGMP:Internet组管理协议,编号2。 TCP:传输控制协议,编号6。 EGP:外部网关协议,编号8。 IGP:专用内部网关协议,编号9。 UDP:用户数据报协议,编号17。 IPv6:互联网协议第6版,编号41。 GRE:通用路由封装协议,编号47。 ESP:封装安全载荷协议,编号50。 AH:身份验证标头,编号51。 EIGRP:增强内部网关路由协议,编号88。 OSPF:开放式最短路径优先协议,编号89。 VRRP:虚拟路由器冗余协议,编号112。 L2TP:第二层隧道协议,编号115。
常见的端口号及其用途: FTP:文件传输协议,数据连接端口20,控制连接端口21。 SSH:远程登陆,端口22。 Telnet:远程登陆,端口23。 SMTP:电子邮件传输协议,端口25。 DNS:域名系统,端口53。 DHCP:服务器接收请求的端口67,客户机接收回应的端口68。 TFTP:简单文件传输协议,端口69。 HTTP:超文本传输协议,端口80。 POP3:邮局协议3,端口110。 SNMP:简单网络管理协议,端口161/162。 BGP:边界网关协议,端口179。 HTTPS:基于TLS/SSL的网页浏览,端口443。 IKE:端口号500,用于IPSec协议栈中的密钥交换。 DHCPv6:客户端端口546,服务器端口547。 LDAP:轻量目录存取协议。 L2TP VPN:服务端口1701。 RADIUS:认证端口1812,计费端口1813。
请注意,端口号的使用可能会因应用程序的不同版本或配置而有所不同,且某些端口号可能被多个不同的应用程序或服务所使用。因此,在实际应用中,了解特定应用程序或服务所使用的确切端口号是很重要的。
㈢ FTP使用传输层的什么协议
FTP使用传输层的TCP协议。
TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。
TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
(3)ftp报文协议格式扩展阅读:
TCP连接每一方的接收缓冲空间大小都固定,接收端只允许另一端发送接收端缓冲区所能接纳的数据,TCP在滑动窗口的基础上提供流量控制,防止较快主机致使较慢主机的缓冲区溢出。
作为IP数据报来传输的TCP分片到达时可能会失序,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。
TCP将保持它首部和数据的检验和,这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到分片的检验和有差错,TCP将丢弃这个分片,并不确认收到此报文段导致对端超时并重发。