第二次实验报告:使用Packet Tracer分析应用层协议

匿名 (未验证) 提交于 2019-12-03 00:11:01

第二次实验报告:使用Packet Tracer分析应用层协议

个人信息

  • 郑兰艳
  • 201821121064
  • 计算1813

熟练使用Packet Tracer工具。分析抓到的应用层协议数据包,深入理解应用层协议,包括语法、语义、时序。

使用Packet Tracer,正确配置网络参数,抓取应用层协议的数据包并分析,协议包含DNS、FTP, DHCP, stmp, pop3。步骤包含:

  • 建立网络拓扑结构
  • 配置参数
  • 抓包
  • 分析数据包

(1)建立网络拓扑结构

  说明:将一台PC主机与一台服务器连接在一起,建立网络拓扑结构

3.1 DNS

(1)配置参数

  客户端的IP地址(192.168.1.64)

 

 

  服务端的IP地址(192.168.1.65)

 

打开DNS,添加域名www.baidu.com

(4)抓包并分析抓到的数据包

    

 DNS Message

            

    DNS Query

         Name:是你要查询的域名,属于不定长字段。他的格式是“长度(1字节)+N字节内容(N由前面的长度定义)+~~~+长度0。以一个长度单位N为开始,然后连续的N字节为其内容,然后又是一个N2长度的一字节,然后后面又是N2个字节内容,直到遇到长度为0的长度标记。

查询名为要查找的名字,它由一个或者多个标示符序列组成。每个标示符已首字节数的计数值来说明该标示符长度,每个名字以0结束。计数字节数必须是0~63之间。该字段无需填充字节。

  TYPE:长度16位,表示查询类型。取值大概如下:

    enum QueryType //查询的资源记录类型。
  {
    A=0×01, //指定计算机 IP 地址。
    NS=0×02, //指定用于命名区域的 DNS 名称服务器。
    MD=0×03, //指定邮件接收站(此类型已经过时了,使用MX代替)
    MF=0×04, //指定邮件中转站(此类型已经过时了,使用MX代替)
    CNAME=0×05, //指定用于别名的规范名称。
    SOA=0×06, //指定用于 DNS 区域的“起始授权机构”。
    MB=0×07, //指定邮箱域名。
    MG=0×08, //指定邮件组成员。
    MR=0×09, //指定邮件重命名域名。
    NULL=0x0A, //指定空的资源记录
    WKS=0x0B, //描述已知服务。
    PTR=0x0C, //如果查询是 IP 地址,则指定计算机名;否则指定指向其它信息的指针。
    HINFO=0x0D, //指定计算机 CPU 以及操作系统类型。
    MINFO=0x0E, //指定邮箱或邮件列表信息。
    MX=0x0F, //指定邮件交换器。
    TXT=0×10, //指定文本信息。
    UINFO=0×64, //指定用户信息。
    UID=0×65, //指定用户标识符。
    GID=0×66, //指定组名的组标识符。
    ANY=0xFF //指定所有数据类型。
  };

  Class:长度为16位,表示分类。

enum QueryClass //指定信息的协议组。
{
IN=0×01, //指定 Internet 类别。
CSNET=0×02, //指定 CSNET 类别。(已过时)
CHAOS=0×03, //指定 Chaos 类别。
HESIOD=0×04,//指定 MIT Athena Hesiod 类别。
ANY=0xFF //指定任何以前列出的通配符。
};

  TTL:表示生存时间,表示的是资源记录可以缓存的时间  

  LENGTH:表示资源数据长度

  DNS Answer

  NAME :资源记录包含的域名.
  TYPE :表示DNS协议的类型.
  CLASS: 表示RDATA的类.
  TTL :4字节无符号整数表示资源记录可以缓存的时间。0代表只能被传输,但是不能被缓存。
  RDLENGTH: 2个字节无符号整数表示RDATA的长度
  RDATA :不定长字符串来表示记录,格式根TYPE和CLASS有关。比如,TYPE是A,CLASS 是 IN,那么RDATA就是一个4个字节的ARPA网络地址。

 (5)通过该实验产生新的疑问及解答 (不作要求,但属于加分项)

通过该实验如果有产生新的疑问,可以写出来,并尝试自己解决问题。

3.2 FTP

(1) 打开服务器的FTP,配置用户信息

 

 (2)PC端的Command Prompt输入用户名与密码

 

 (3)分析报文

 

 Code:220 表示连接成功,服务器准备就绪

 

 FTP Command:USER  请求系统登入的用户名

 

 Code:331 表示用户名输入正确,需要输入密码 

 

 PASS 表示请求输入密码

 

 Code:230 表示登入成功

3.3 DHCP

(1)将服务器端的DHCP服务开启

(2)

 

(3) 分析报文

  请求报文:

  OP报文类型,1表示请求报文,2表示回应报文。

  HW TYPE硬件地址类型,1表示10Mb/s的以太网的硬件地址。

  HW LEN硬件地址长度,以太网中该值为6。

  HOPS跳数。客户端设置为0,也能被一个代理服务器设置。

  TRANSACTION ID事务ID,由客户端选择的一个随机数,被服务器和客户端用来在它们之间交流请求和响应,客户端用它对请求和应答进行匹配。该ID由客户端设置并由服务器返回,为32位整数。

  SECS由客户端填充,表示从客户端开始获得IP地址或IP地址续借后所使用了的秒数。

  FLAGS标志字段。这个16比特的字段,目前只有最左边的一个比特有用,该位为0,表示单播,为1表示广播。

  CLIENT ADDRESS客户端的IP地址。只有客户端是Bound、Renew、Rebinding状态,并且能响应ARP请求时,才能被填充。

  YOUR CLIENT ADDRESS"你自己的"或客户端的IP地址。

  SERVER ADDRESS表明DHCP协议流程的下一个阶段要使用的服务器的IP地址。

  RELAY AGENT AGGRESSDHCP中继器的IP地址。//注意:不是地址池中定义的网关

  CLIENT HARDWARE ADDRESSr客户端硬件地址。客户端必须设置它的"chaddr"字段。UDP数据包中的以太网帧首部也有该字段,但通常通过查看UDP数据包来确定以太网帧首部中的该字段获取该值比较困难或者说不可能,而在UDP协议承载的DHCP报文中设置该字段,用户进程就可以很容易地获取该值。

  SERVER HOSTNAME可选的服务器主机名,该字段是空结尾的字符串,由服务器填写。

  FILE启动文件名,是一个空结尾的字符串。DHCP Discover报文中是"generic"名字或空字符,DHCP Offer报文中提供有效的目录路径全名。

  OPTIONS可选参数域,格式为"代码+长度+数据"。

 

  响应报文

  OP表示报文类型,2表示响应报文

  YOUR CLIENT ADDRESS表示客户端地址

  SERVER ADDRESS表示DHCP协议流程的下一个阶段要使用的服务器的IP地址

 

  DHCP Options

  OP:表示DNS Server

   LEN:表示长度

   DOMAIN NAME SERVER:表示域名服务器的IP

   OP表示主DNS服务器名

   LEN表示长度可变

   DOMAIN NAME表示域名

(1)PC端email配置

(2)服务器端email配置

(3)服务器端的DNS服务开启,并增加两条域名

(4)PC端发送邮件给服务器端

(5)报文分析

 

  将邮件报文发送给服务器

 表示接受邮件报文

4.本次实验产生的疑问以及解答

  疑问:什么是pop3和smtp?

  解答:

  pop3  --- 接收

       POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。

它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。

  SMTP  --- 发送

  SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。

SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!