计算机网络抓包分析实习报告.doc_第1页
计算机网络抓包分析实习报告.doc_第2页
计算机网络抓包分析实习报告.doc_第3页
计算机网络抓包分析实习报告.doc_第4页
计算机网络抓包分析实习报告.doc_第5页
免费预览已结束,剩余35页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机网络实习报告 信息11-1 110814119 王朔 实习报告(一)课 程 计算机网络 实验名称 使用Omnipeek软件做抓包分析 专业班级 信息管理与信息系统 姓 名 学 号 实习日期 2013.5.27-2013.5.31 2013年5月29日目录实习报告(一)1目录2一、实验目的和内容11.1、实验目的11.2、实验内容11.3、实验步骤1二、实验环境2三、实验分析23.1 分析以太网DIXv2帧格式23.1.1 以太网DIXv2帧格式23.1.2 太网DIXv2帧各字段大小及用途23.1.3分析DIXv2帧23.2 分析ARP的Request和Response报文;33.2.1 ARP报文结构33.2.2ARP报文各字段大小及用途33.2.3 ARP Request报文43.2.4 ARP Reply报文53.3 分析TCP在连接建立阶段的3次握手和连接释放阶段的4次分手报文63.3.1 TCP报文结构63.3.2 TCP报文各字段大小及用途63.3.3 TCP连接建立阶段的3次握手过程73.3.4 TCP连接建立阶段的3次握手报文83.3.5 TCP连接建立阶段的3次握手总结103.3.6 TCP连接释放阶段的4分手过程103.3.7 TCP连接释放阶段的4次分手报文113.3.8 TCP连接释放阶段的4次分手总结133.4分析DNS以及UDP的Query和Response报文133.4.1 DNS Query报文结构133.4.2 DNS Query报文各字段大小及用途133.4.3 DNS Query报文143.4.4 DNS Response报文结构153.4.5 DNS Response报文各字段大小及用途153.4.6 DNS Response报文173.4.7 UDP的Query报文173.4.8UDP的Response报文183.5分析HTTP GET、POST和HTTP Response报文183.5.1 HTTP Request报文格式183.5.2 HTTP Request报文各字段大小及用途193.5.3 HTTP GET报文203.5.4 HTTP POST报文213.5.5 HTTP Response报文格式213.5.6 HTTP Response报文各字段大小及用途223.5.7 HTTP Response报文233.6 分析FTP过程;要列举出你都用到了/找到了哪些FTP命令原语243.7 分析在发送、接收email过程中的SMTP、POP3报文;273.7.1 SMTP报文结构273.7.2 SMTP报文字段及用途273.7.3 SMTP连接建立过程及报文分析283.7.4 POP3报文字段及用途303.8 分析ICMP echo报文323.8.1 ICMP报文格式323.8.2 ICMP报文字段及用途333.8.3 ICMP Request报文333.8.4 ICMP Reply报文333.9 考察tcp的连接无法建立的场景34四、实习总结3636一、实验目的和内容1.1、实验目的协议分析是网络工程师必须掌握的技能,本实验使用Omnipeek软件对捕获的网络数据包进行分析;熟悉基本协议的报文格式、了解协议的工作机制。学会虚拟机的配置、网络连接方式等,学会对Win Server平台常用的服务配置:IIS、FTP、DNS、MAIL等。1.2、实验内容 1.虚拟机的配置及网络连接方式;2.Win server平台常用服务的配置:IIS、FTP、DNS、MAIL;3.通过抓包,了解协议的运行机制;1.3、实验步骤 1. 使用IE浏览器,菜单工具/Internet选项-删除,将“删除文件”“删除cookie”“清除历史记录”选中。 删除浏览器中原有的记录。2. 清空arp缓存,在DOS模式下,使用命令“arp d ”。3. 设置好DNS服务器,域名是“”。DNS服务器中至少要包含A记录、MX记录。其中A记录用于所搭建的web服务器的域名解析、记录用于你所搭建的mail服务器的解析。 4. 做一个简单的静态网页,网页内容中包含个人的基本信息;之后在IIS中发布。5. 架设好FTP服务器,安装如Server-U/ FTP服务器端软件.6. 启动Omnipeek抓包程序。7. 从Host OS 发起针对Guest OS的ping命令,此时捕获ARP报文、IP报文、ICMP报文; 8. 在Host OS中的浏览器的地址栏,输入 ,回车,会返回你在上一步发布的网页; 9. 在第7步的过程中,会捕获ARP报文、DNS报文、UDP报文、TCP连接建立的三次握手报文、HTTP报文、TCP连接释放的四次握手报文等; 10. 对POP3、SMTP报文的捕获:必须采用如下方式:在Guest OS中配置邮件服务器,安装 Imail软件。在所搭建的邮件服务器中配置2个帐户,user1、user2。11. 在Host OS上,使用Outlook Express、邮件客户端,来完成在ueser1、user2之间互相收发邮件。在收发邮件过程中,同时启动抓包分析。12. 关闭Omnipeek,把捕获到的数据包保存为文件。二、实验环境 虚拟机:VMware数据包捕获软件:Omnipeek截图软件:Hypersnap系统软件:Windows 2000 Advanced Server三、实验分析 3.1 分析以太网DIXv2帧格式3.1.1 以太网DIXv2帧格式前同步码目的地址源地址类型数据FCS3.1.2 太网DIXv2帧各字段大小及用途字段字段长度(字节)用途前同步码(preamble)8前七个字节用来“唤醒”接受适配器;第八个字节的最后两个比特警告适配器,“重要的内容”就要到来了目的地址(destination address)6包含目的适配器的MAC地址源地址(source address)6包含传输该帧到LAN上的适配器的MAC地址类型字段(type field)2该字段允许以太网复用多种网络协议(常见:0x0800:IP;0x0806:地址解析协议ARP)数据字段(data field)461500承载IP数据报帧校验序列(FCS)4对接收网卡提供判断是否传输错误的一种方法,如果发现错误,丢弃此帧3.1.3分析DIXv2帧总结:ARP request包字段Packet Info前同步码(preamble)64 bytes14bytesEthernet Header目的地址(destination address)FF:FF:FF:FF:FF:FF是广播地址源地址(source address)02:00:4C:4F:4F:50Host OS MAC地址类型字段(type field)0x080628bytesARP 数据字段(data field) ARP包大小为28bytes,小于最小数据字段大小46bytes,以18bytes“0”填充18bytesExtra bytes4bytesFCS帧校验序列(FCS)0xAF7462423.2 分析ARP的Request和Response报文; ARP(Address Resolution Protocol),地址解析协议,用于控制网络层地址和链路层地址之间的转换。3.2.1 ARP报文结构 硬件类型(Hardware)协议类型(Protocol)硬件地址长度(Hardware Addr Length)协议地址长度(Protocol Addr Length)操作类型(Operation)发送端硬件地址(Sender Hardware Addr)发送端网络地址(Sender Internet Addr)目标硬件地址(Target Hardware Addr)目标网络地址(Target Internet Addr)3.2.2ARP报文各字段大小及用途字段长度(字节)用途硬件类型2发送方想知道的硬件地址的类型协议类型2要映射的协议地址类型硬件地址长度1指明硬件地址和高层协议的长度,这样ARP帧就看可以在任意硬件和任意协议的网络中使用(以太网中,分别为6和4)协议地址长度1操作类型2用来表示报文的类型(ARP请求:1;ARP响应:2;R ARP请求:3;RARP响应:4)发送端硬件地址6源主机硬件地址发送端网络地址4源主机的MAC地址目标硬件地址6目的端的硬件地址目标网络地址4目的端的MAC地址3.2.3 ARP Request报文 报文分析:字段ARP的Request报文硬件类型1 以太网卡(10Mb)协议类型0x0800(IP协议)硬件地址长度6协议地址长度4操作类型1(ARP Request)发送端硬件地址02:00:4C:4F:4F:50(Host OS MAC)发送端网络地址(Host OS IP)目标硬件地址00:00:00:00:00:00(广播帧)目标网络地址(Guest OS IP)从帧的destination mac字段来看为00:00:00:00:00:00,为全0,因此是广播帧。3.2.4 ARP Reply报文ARP Reply报文分析:字段ARP的Reply报文硬件类型1 以太网卡(10Mb)协议类型0x0800(IP协议)硬件地址长度6协议地址长度4操作类型2(ARP Response)发送端硬件地址00:0C:29:3F:6C:48(Guest OS MAC)发送端网络地址(Guest OS IP)目标硬件地址02:00:4C:4F:4F:50(Host OS MAC)目标网络地址(Host OS IP) 从帧的destination mac字段来看为02:00:4C:4F:4F:50,为A类地址,是Host OS的物理地址,是单播帧。3.3 分析TCP在连接建立阶段的3次握手和连接释放阶段的4次分手报文3.3.1 TCP报文结构3.3.2 TCP报文各字段大小及用途字段长度(bit)用途源端口号16TCP协议通过使用端口来标识源端和目标端的应用进程,共同构成相当于传输层服务访问点的地址目的端口号16序号32用来标识从TCP源端向TCP目标端发送的数据字节流,表示在这个报文段中的第一个数据字节确认序号32包含目标端所期望收到源端的下一个数据字节数据偏移4表示数据开始的地方离TCP 报文段的起始处有多远。即TCP报文段首部的长度保留6供今后使用,目前置为0URG1表明此报文应尽快传输,而不按原来的 顺序来传送。与“紧急指针”字段配合使用ACK1只有ACK标志为1时,确认号字段才有效PSH1当PSH=1时表明接收方应该尽快将这个报文段交给应用层RST1当RST=1时,表明出现严重差错,必须释放连接,然后再重建传输连接SYN1当SYN=1时,表明一个连接请求或连接接收报文。在建立连接时使用,当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,在发回的报文段中使SYN=1和ACK=1。FIN1用来释放一个连接,当FIN=1时,表明要发送的字节串已经发完,并要求释放传输连接窗口16表示报文段发送方的接收窗口。此窗口告诉对方,“在未收到我的确认时,你能够发送的数据的字节数至多是此窗口的大小。”TCP校验和16整个TCP报文段(TCP头部和TCP数据)进行校验和计算,并由目标端进行验证紧急指针16是一个偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号选项和填充32可能包括窗口扩大因子、时间戳等选项数据3.3.3 TCP连接建立阶段的3次握手过程图示过程:3.3.4 TCP连接建立阶段的3次握手报文 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手报文分析:此图为第一次握手的报文。客户机端的TCP首先向服务器端的TCP发送一个特殊的TCP报文段。该报文段中不包含应用层数据,但是报文段的首部中的一个标志位即SYN被置为1。客户端会选择一个起始序号,并将其置放到该起始的TCP SYN报文段的序号字段中,该报文段会被封装在一个IP数据中,并发送给服务器。 即由Host OS向Guest OS发送建立连接请求,此时SYN置为1,ACK为0。第二次握手报文分析:此报文为第二次握手的报文。一旦包含TCP SYN报文段的IP数据报到达服务器主机。服务器会从该数据报中提取TCP SYN报文段,为该TCP连接分配TCP缓存和变量,并向客户机TCP发送允许连接的报文段。即由Guest OS对之前Host OS的连接请求作出确认,ACK置为1,并向Host OS发送建立连接请求,SYN置为1第三次握手报文分析: 此报文为第三次握手的报文。在收到SYN ACK报文段之后,客户机也要给该连接分配缓存和变量。客户机主机还会向服务器发送另外一个报文段,这个报文段对服务器的允许连接的报文段进行了确认。 即由Host OS对之前Guest OS的连接请求作出确认,ACK置为1 3.3.5 TCP连接建立阶段的3次握手总结第一次握手: 建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手: 服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手: 客户端收到服务器的SYNACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,即连接已经建立,完成三次握手。 TCP建立连接的3次握手过程总结为:握手次数连接方向synackfinAck.noSeq.no第一次握手客户端服务端10002938090170第二次握手服务端客户端1102938090171665059773第三次握手客户端服务端0106650597742938090171由上表对比可知,第一个次握手时Ack.no为0, Seq.no为3959762695,第二次握手的Ack.no为上一次握手的Seq.no+1。同理,第三次握手的Ack.no为第二次握手的Seq.no+1。3.3.6 TCP连接释放阶段的4分手过程图示过程:3.3.7 TCP连接释放阶段的4次分手报文 数据传输结束后,通信的双方都可选择释放连接。现在服务器端和客户端都出入ESTABLISHED状态。下面分析的4次分手报文是基于客户端要求释放连接进行的分析。 第一次分手报文分析:此报文为第一次分手的报文。客户端的应用进程向其TCP发出连接释放报文段,并停止发送数据,主动关闭TCP连接。发送一个FIN,用来关闭客户端到服务器的数据传送。此时客户端进入FIN-WAIT-1状态,等待服务器端的确认。即由Guest OS向Host OS发送释放连接请求,ACK置为1,FIN置为1 第二次分手报文分析:此报文为第二次分手的报文。服务器端收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。此时服务器端就进入了CLOSE-WAIT状态。客户端收到来自服务器端的确认之后进入了FIN-WAIT-2状态,等待服务器端发出的连接释放报文段。即由Host OS对之前Guest OS发送的释放连接请求作出确认,ACK置为1 第三次分手报文分析:此报文为第三次分手的报文。服务器端应用进程通知TCP释放连接,关闭与客户端的连接,发送一个FIN给客户端。服务端进入了LAST-ACK状态。等待客户端的确认。即由Host OS向Guest OS发送释放连接请求,ACK置为1,FIN置为1 第四次分手报文分析:此报文为第四次分手的报文。客户端发回ACK报文确认,并将确认序号设置为收到序号加1。进入到TIME-WAIT状态。此时TCP连接还没有释放掉。经过时间等待计时器设置的2MSL后,客户端进入CLOSED状态。结束了这次TCP的连接。即由Guest OS对Host OS之前发送的释放连接请求作出确认,ACK置为13.3.8 TCP连接释放阶段的4次分手总结 TCP连接释放阶段的4次分手过程总结为:分手次数释放连接方向synackfinAck.noSeq.no第一次分手客户端服务端0112938090504665063670第二次分手服务端客户端0106650636712938090504第三次分手服务端客户端0116650636712938090504第四次分手客户端服务端0102938090505665063671由上表可以看出,在TCP连接释放的4次分手阶段,第二次分手的Ack.no是第一次分手的Seq.no+1,Seq.no是第一个分手的Ack.no。而第三次分手仍是由服务端向客户端方向释放连接,因此Ack.no和Seq.no不变。第四次Ack.no为第三次Seq.no+1,Seq.no为第一次分手的Seq.no+1。3.4分析DNS以及UDP的Query和Response报文DNS(Domain Name System),域名系统,是一个由分层的DNS服务器实现的分布式数据库,是一个允许主机查询分布式数据库的应用层协议。DNS通常由其他应用层协议所使用,用于将用户提供的主机名解析为IP地址。3.4.1 DNS Query报文结构HeaderQuestion Section3.4.2 DNS Query报文各字段大小及用途Header format:IdentificationFlagsNumber of Question recordsNumber of Answer recordsNumber of Authoritative recordsNumber of Addtional recordsFlags:字段Q/RopCodeAATCRDRA000rCode大小(比特)1411114rCode:ValueMeaning0无差错1格式差错2问题在域名服务器上3域参照问题4查询类型不支持5在管理上禁止6-15保留 Question Record:Query Name Query TypeQuery CategoryQuery Type:类型助记符说明1A地址。IPv4地址。用来把域名转换成IPv4地址2NS名字服务器。它标志区的授权服务器5CNAME规范名称。定义主机的正式名字的别名6SOA开始授权。它标记区的开始,通常是区文件的第一个记录11WKS熟知服务。定义主机所提供的网络服务12PTR指针。用来把IP地址转换成域名13HINFO主机信息。给出主机使用的硬件和操作系统的描述15MX邮件交换。把邮件改变路由送到邮件服务器28AAAA地址。IPv6252AXFR传送整个区的请求255ANY对所有记录的请求Query Category:类型助记符说明1ANInternet2CSNETCSNET网络3CSCOAS网络4HSMIT开发的Hesoid服务器3.4.3 DNS Query报文抓包结果:报文分析:Header format:Identification:0xC7EBDNS Flags:0x0100 Q/R:0 Query 报文 opCode:000 0 Standard Query AA: 0 非权威答案 TC:0 消息不被截断 RD:1 期望递归 RA:0 不可用递归 rCode:0 无差错 Question Record: Query Name: 为域名 Query Type: 1 将域名转化为IPv4格式 Query Class:1 Internet3.4.4 DNS Response报文结构HeaderQuestion SectionAnswer SectionAuthoritative SectionAdditional Section3.4.5 DNS Response报文各字段大小及用途Flags:字段Q/RopCodeAATCRDRA000rCode大小(比特)1411114rCode:值意义0无差错1格式差错2问题在域名服务器上3域参照问题4查询类型不支持5在管理上禁止6-15保留 Question Record:Query Name Query TypeQuery CategoryQuery Type:类型助记符说明1A地址。IPv4地址。用来把域名转换成IPv4地址2NS名字服务器。它标志区的授权服务器5CNAME规范名称。定义主机的正式名字的别名6SOA开始授权。它标记区的开始,通常是区文件的第一个记录11WKS熟知服务。定义主机所提供的网络服务12PTR指针。用来把IP地址转换成域名13HINFO主机信息。给出主机使用的硬件和操作系统的描述15MX邮件交换。把邮件改变路由送到邮件服务器28AAAA地址。IPv6252AXFR传送整个区的请求255ANY对所有记录的请求Query Category:类型助记符说明1ANInternet2CSNETCSNET网络3CSCOAS网络4HSMIT开发的Hesoid服务器Resource Record:域名域类型域类生存时间资源数据长度资源数据3.4.6 DNS Response报文报文分析:Header format:Identification: 0xC7EBDNS Flags: 0x8580 Q/R: 1 Response报文 opCode: 000 0 Standard Query AA: 1 权威答案 TC:0 消息不被截断 RD:1 期望递归 RA:1可用递归 rCode:0 无差错 Question Record: Query Name:www.wangshuocom Query Type: 1 将域名转化为IPv4格式 Query Class:1 Internet Resource Record:域名:类型:1 将域名转化为IPv4地址类别:1 Internet生存时间:3600ms资源数据长度:4个字节资源数据:IP地址为3.4.7 UDP的Query报文报文分析:源端口号:53088目标端口号:53UDP数据报长度:42校验和:0xf6323.4.8UDP的Response报文报文分析:源端口号:53目标端口号:53088UDP数据报长度:58校验和:0x6bc33.5分析HTTP GET、POST和HTTP Response报文 HTTP报文是面向文本的,报文中的每一个整顿都是一些ASCII码串,各个字段的长度都是不确定的。HTTP报文有两种:请求报文和相应报文。首先讨论请求报文格式。3.5.1 HTTP Request报文格式3.5.2 HTTP Request报文各字段大小及用途HTTP Request line:Request type (method)spURLspHTTP VersionGET/POSTHTTP General Header:首部描述Cachecontrol指明关于告诉缓存的信息Connection指出连接是否应当关闭Date给出当前日期MIMEversion给出所使用的MIME版本Upgrade指明优先使用的通信协议HTTPRequest Header:首部描述Accept给出客户能处理的媒体格式Accept-charset给出客户能接受的字符集Accept-encoding给出客户能理解的编码方案Accetp-language给出客户乐于接受的自然语言列表Authorization给出客户具有何种授权From给出用户的电子邮件地址Host给出客户的主机和端口号If-modified-since只当比指明日期更加新时才发送这个文档If-match只当与给定标记匹配时才发送文档If-not-match只当与给定标记不匹配时才发送文档If-range只发送缺少的那部分文档If-unmodifed-since若在指明日期之后未改变,则发送文档Referrer指明被链接的文档的URLUser-agent标识客户程序HTTP Entity Header:首部描述Allow列出URL可使用的合法的方法Content-encoding指明编码方案Content-language指明语言Content-length指明文档长度Content-range指明文档范围Content-type表明发送或接受的实体的MIME类型Etag给出实体标记Expires给出当内容可能改变时的日期和时间Last-modified给出上次改变的日期和时间Location指明被创建和移走的文档的位置3.5.3 HTTP GET报文报文分析: HTTP Request line: Request type (method):GET URL: HTTP Version: HTTP 1.1 版本HTTP General Header:Connection:保持连接 HTTP Request Header: Accept:客户能接受的媒体格式为:*/*,即所有媒体格式Accetp-language:客户能接受的语言为中文Host:客户的主机为: 它的端口号为默认的803.5.4 HTTP POST报文报文分析:HTTP Request line: Request type (method):POST URL: HTTP Version: HTTP 1.1 版本HTTP General Header:Connection:保持连接Cachecontrol:无缓存 HTTP Request Header: Accept:客户能接受的媒体格式为text/html,application/xhtml+xml,*/*rn等Reference:被连接的文档的URL为Accetp-language:客户能接受的语言为中文Accept-encoding:客户能接受的编码方案为:gzip,deflateUser-agent:标识客户程序为Mozilla/5.0Host:客户的主机为: HTTP Entity Header: Content-length:文档长度为6字节3.5.5 HTTP Response报文格式 3.5.6 HTTP Response报文各字段大小及用途HTTP Status line:HTTP VersionspStatus codespStatus Phrase200(OK)/400(Bad Request)/404(Not Found)HTTP General Header:首部描述Cachecontrol指明关于告诉缓存的信息Connection指出连接是否应当关闭Date给出当前日期MIMEversion给出所使用的MIME版本Upgrade指明优先使用的通信协议HTTP Response Header:首部描述Accept-range给出服务器接受客户所请求的范围Age给出文档的使用期限Public给出可支持的方法清单Retry-after指明日期,在这个日期之后,服务器是可用的Server给出服务器名和版本号HTTP Entity Header:首部描述Allow列出URL可使用的合法的方法Content-encoding指明编码方案Content-language指明语言Content-length指明文档长度Content-range指明文档范围Content-type表明发送或接受的实体的MIME类型Etag给出实体标记Expires给出当内容可能改变时的日期和时间Last-modified给出上次改变的日期和时间Location指明被创建和移走的文档的位置3.5.7 HTTP Response报文报文分析:HTTP Status line: HTTP Version:HTTP版本为1.1HTTP Status :200(成功)Status Phrase:OKHTTP Response Header: Server: Microsoft-IIS/5.0 Accept-ranges:服务器接受客户所请求的范围为字节 HTTP Entity Header: Content-type: 表明接受的实体的MIME类型为text/htm Content-length:文档长度为600字节HTTP Entity Body: Line1,Line2,Line3,Line4 是数据部分,所占字节总数为89byte Binary data:二进制数据,所占的字节数为511byte3.6 分析FTP过程;要列举出你都用到了/找到了哪些FTP命令原语 FTP命令原语:通过help 命令,学到了FTP的一些命令原语,如下图。使用Open 命令连接到,即虚拟机。输入user-anonymous,password即可登录。用ls命令可以看到在虚拟机上设置的ftp文件夹内的内容。其中端口号是200,文件夹中有一个文件1.bmp。用bye命令退出FTP。在DOS中输入FTP命令之后,与相连,当连接上之后,则完成了TCP的3次握手。R端返回FTP 连接信息:C端:以anonymous为用户登录。R端:响应C端,表明用户已被允许连接,要求发送password。 C端:无密码,Enter, PASS,即登录通过。R端:用户已登录。C端:用户登录到FTP中,可以进行其他有权限的操作。登录的端口为192,161,17,1,4,29.R端:200 端口命令成功C端:输入命令ls,要求查看ftp文件夹的内容。R端:150表明打开了文件列表。 R端:226表明完成了传输。C端:由于发送了bye命令,因此QUIT了此次连接。之后,TCP进入连接释放阶段,发生四次分手由于上面讨论过TCP的3次握手和4次分手,因此在这里就不再详细解释了。3.7 分析在发送、接收email过程中的SMTP、POP3报文; SMTP(Simple Mail Transfer Protocol) ,简单邮件传输协议,用于从发送方的邮件服务器发送报文到接收方的邮件服务器。SMTP与HTTP比较,这两个协议都是用于从一台主机向另一台主机传送文件;HTTP从Web服务器向Web客户机(通常是浏览器)传送文件;SMTP从一个邮件服务器向另一个邮件服务器传送文件。当进行文件传送时,持久HTTP和SMTP都使用持久连接。因此,这两个协议有一些共同特征。然而两者之间也有一些重要区别。第一,HTTP主要是一个拉协议,而SMTP基本上是一个推协议。第二,SMTP要求每个报文都使用7位ASCII码格式。第三,在于如何处理一个既包含文本又包含图形的文档。3.7.1 SMTP报文结构headerToFromSubjectbodythe “message” ASCII characters only3.7.2 SMTP报文字段及用途Command:KeywordVariable必须支持HELO发送端的主机名MAIL FROM发信人RCPT TO预期的收信人DATA邮件的主体QUIT推荐RSETVRFY需要验证的收信人的名字NOOP很少使用TURNEXPN需要扩展的邮件发送清单HELP命令名SEND FROM预期的收信人SMOL FROM预期的收信人SMAL FROM预期的收信人Response:codeDescriptionPositive Completion Reply211系统状态或求助回答214求助报文220服务就绪221服务关闭传输信道250请求命令完成251用户不是本地的,报文将被转发Positive Intermediate Reply354开始邮件输入Transient Negative Completion Reply421服务不可用450邮箱不可用451命令异常终止;本地差错452命令异常终止;存储器不足Permanent Negative Completion Reply500语法差错;不能识别的命令501语法的参数或变量差错502命令未实现503命令序列不正确504命令暂时未实现550命令未执行;邮箱不可用551用户非本地的552所请求的动作异常终止;存储位置超过553所请求的动作未发生;邮箱名不允许用554事务失败3.7.3 SMTP连接建立过程及报文分析在邮件发送的过程中,首先会发生TCP建立连接阶段的3次握手。发送邮件:首先,服务器端对发送邮件做好准备,进入Service Ready状态:之后,客户端向服务器端发出HELO命令,用来识别SMTP客户端到SMTP服务端:随后,客户端向服务器端发出Mail From命令,其发件人为:user2bjfuinfo-netlab:之后,服务端对客户端的命令作出响应,OK,表明做好了接受邮件的准备:客户端向服务器端发出命令,要求收件人为user1bjfuinfo-netlab服务器端表明可以接收user1bjfuinfo-netlab 的邮件:客户端与服务器端进行协商,决定用DATA命令发送邮件:服务器端响应客户端,并且告知其接受邮件的起始符和结束符:客户端开始通过outlook Express发送邮件,从user2bjfuinfo-netlab发送到user1bjfuinfo-netlab:客户端端发送.,表明邮件已发送结束:服务器端回应Queued mail for deliver,表明邮件已送达:邮件发送完毕后,TCP进入释放连接阶段的4次分手。3.7.4 POP3报文字段及用途接收邮件过程:在TCP连接建立之后,服务器端作出了+OK X1 NT-P0P3 Server bjfuinfo-netlabd命令,即已经做好了接收邮件的准备:客户端根据服务器端发来的格式进行回复,首先发送USER user2:服务器端接收到了USER 之后,请求密码登陆:客户端发送密码user2:服务器端接收到正确的密码后,登陆成功,准备接收邮件:客户端发送STAT命令表示开始接收邮件:服务器端返回+OK,表明可以传输:客户端发送LIST命令,要求列出报文的编号:服务器端响应客户端的请求,发送报文内容: 客户端发送QUIT命令,表明传输已完成:服务器端发送+OK POP3 Server saying Good-Bye,表明POP3完成任务: 邮件传输结束后,TCP进入连接释放阶段,发生4次分手。3.8 分析ICMP echo报文ICMP协议是一种面向连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。 它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。3.8.1 ICMP报文格式TypecodeChecksumHeaders OtherICMP Data Area3.8.2 ICMP报文字段及用途Type:种类类型报文差错报文3目的端不可达4源端抑制11超时12参数问题5改变路由查询报文8或0回送请求或回答13或14时间戳请求或回答17或18地址掩码请求或回答10或19路由器查询和通告3.8.3 ICMP Request报文 报文分析:ICMP Type:8回送请求报文,传递的ping命令通常用于测试信宿的可到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论