第二次作业:使用Packet Tracer分析应用层协议(DNS、FTP、DHCP、SMTP、POP3)
0 个人信息
- 张樱姿
- 201821121038
- 计算1812
1 实验目的
熟练使用Packet Tracer工具。分析抓到的应用层协议数据包,深入理解应用层协议,包括语法、语义、时序。
2 实验内容
使用Packet Tracer,正确配置网络参数,抓取应用层协议的数据包并分析,协议包含DNS、FTP, DHCP, stmp, pop3。步骤包含:
- 建立网络拓扑结构
- 配置参数
- 抓包
- 分析数据包
3 实验报告
本实验使用Cisco Packet Tracer这个平台来对网络环境进行模拟。
3.1 建立网络拓扑结构
如图,将一台PC端和一台Server端相连。
分析:客户(PC端)和服务器(Sever端)是通信中所涉及的两个应用进程,要达到抓包的目的,就需要建立通信关系,即需要在同一网段内。
3.2 IP配置
PC端的IP地址:192.168.1.38,子网掩码:255.255.255.0
服务器的IP地址:192.168.1.1,子网掩码:255.255.255.0
分析:对于PC端和服务器的IP配置,其子网掩码相同,在同一网段内,可以相互通信。
3.3 抓DNS包并分析
3.3.1 将服务器端的DNS服务开启,并增设一条域名解析记录:
3.3.2 点击右下角的Simulation键进行仿真。
3.3.3 只勾选支持DNS协议:
3.3.4 在PC端的浏览器输入域名访问:
(注:当出现域名解析出错时,会显示如下页面:
解决办法是PC端的DNS server要设置为DNS服务器的IP地址:
)
3.3.5 仿真后的信息传递结果如下:
3.3.6 报文分析:
(1)报文头:
- QDCOUNT(Questions Count)表示报文请求段中的问题记录数
- ANCOUNT(Answer Count)表示报文回答段中的回答记录数
- NSCOUNT(Authoritative Nameservers Count)表示报文授权段中的授权记录数
- ARCOUNT(Additional Recoreds Count)表示报文附加段中的附加记录数
(2)查询报文:
- NAME表示查询名,一般为需要查询的域名(如果是反向查询,则为IP地址)
- TYPE表示查询类型,4表示是一个邮件转发器。
- CLASS表示查询类,1表示是Internet数据
- TTL(Time to Live)表示生存时间,以秒为单位,表示的是资源记录的生命周期,一般用于当地址解析程序取出资源记录后决定保存及使用缓存数据的时间,它同时也可以表明该资源记录的稳定程度,极为稳定的信息会被分配一个很大的值(比如86400,这是一天的秒数)。
- LENGTH表示资源数据长度
(3)应答报文:
类似于查询报文:
- NAME表示资源记录包含的域名
- TYPE表示资源记录的类型
- CLASS表示资源记录的类
- TTL表示资源记录的生存周期
- LENGTH表示资源数据长度
- IP表示域名解析的结果
3.4 抓FTP包并分析
3.4.1 将服务器端的FTP服务开启,并增设一条用户记录:
3.4.2 点击右下角的Simulation键进行仿真。
3.4.3 只勾选支持FTP协议:(File Transfer Protocol,文件传输协议)
3.4.4 在PC端的Command Prompt(命令提示符,类似于cmd)输入用户名及密码对FTP服务器的文件访问:
输入?查询可使用命令:
其中,cd可改变远程工作目录,delete可删除远程单个文件,dir可显示远程目录文件的文件列表,get可复制单个远程文件到本地,help与?相同,可显示FTP命令帮助信息,passive可开/关被动模式,put可复制一个本地文件到远程目录,pwd可显示远程当前工作目录,quit可结束FTP会话并退出FTP,rename可重命名远程文件。
(注:FTP有两种使用模式:被动和主动,主动模式要求客户端和服务器端同时打开并监听一个端口以建立连接。但这种情况下,由于客户端安装了防火墙会产生一些问题,所以有了被动模式,被动模式只要求服务器端产生一个监听相应端口的进程,这样就能绕过客户的防火墙了。)
3.4.5 仿真后的信息传递结果如下:
3.4.6 报文分析:
(1)响应报文:
- Code:220表示新用户服务就绪
- Message表示对Code的解释
(2)响应报文:
- Code:331表示用户名正确,需要密码
- Message表示对Code的解释
(3)请求报文:
- FTP Command:PASS表示密码正确
- FTP Argument表示密码内容
(4)响应报文:
- Code:230表示用户已登录
- Message表示对Code的解释
(5)请求报文:
- FTP Command:QUIT表示用户已登出
(6)响应报文:
- Code:221表示服务京城已关闭连接
- Message表示对Code的解释
3.5 抓DHCP包并分析
3.5.1 将服务器端的DHCP服务开启,并设置IP地址分配的开始值192.168.1.0:
接着将PC端的IP获取方式从静态改成DHCP获取(192.168.1.2):
3.5.2 点击右下角的Simulation键进行仿真。
3.5.3 只勾选支持DHCP协议:(Dynamic Host Configuration Protocol,动态主机设置协议)
3.5.4 仿真后的信息传递结果如下:
3.5.5 报文分析:
(1)请求报文:
- OP表示报文类型,1表示请求报文
- HW TYPE表示硬件地址类型,1表示10Mb/s的以太网的硬件地址
- HW LEN表示硬件地址长度,以太网中为6
- HOPS表示跳数,客户端设置为0
- TRANSACTION ID表示事务ID,由客户端选择的一个随机数,被服务器和客户端用来在它们之间交流请求和响应,客户端用它对请求和应答进行匹配
- SECS由客户端填充,表示从客户端开始获得IP地址或IP地址续借后所使用了的秒数
- FLAGS表示标志字段,目前只有最左边的一个比特有用,该位为0,表示单播,为1表示广播
- CLIENT ADDRESS表示客户端地址,只有客户端是Bound、Renew、Rebinding状态,并且能响应ARP请求时,才能被填充。
- YOUR CLIENT ADDRESS表示客户端地址
- SERVER ADDRESS表示DHCP协议流程的下一个阶段要使用的服务器的IP地址
- RELAY AGENT AGGRESS表示DHCP中继器的IP地址
- CLIENT HARDWARE ADDRESS表示客户端硬件地址,客户端必须设置它的物理地址
- SERVER HOSTNAME表示可选的服务器主机名,该字段是空结尾的字符串,由服务器填写
- FILE表示启动文件名,是一个空结尾的字符串
- OPTIONS表示可选的参数域,格式为"代码+长度+数据"
(2)响应报文:
- OP表示报文类型,2表示响应报文
- YOUR CLIENT ADDRESS表示客户端地址,此时被分配为192.168.1.2
- SERVER ADDRESS表示DHCP协议流程的下一个阶段要使用的服务器的IP地址,为192.168.1.1
(3)DHCP Options
- OP:6表示DNS Server
- LEN:4表示4个字节
- DOMAIN NAME SERVER表示域名服务器的IP
- OP:15表示主DNS服务器名
- LEN:0x0表示长度可变
- DOMAIN NAME表示域名
3.6 抓SMTP包并分析(涉及STMP协议和POP3协议)
3.6.1 先将PC端的IP获取由DHCP变为静态获取,并设置其IP地址为192.168.1.38,再对Email中的Configure Mail进行设置:
接着将服务器端的IP获取方式从DHCP改成静态获取,并设置其IP地址为192.168.1.1,打开SMTP服务和POP3服务,增加两个用户,接着对Email中的Configure Mail进行设置:
3.6.2 点击右下角的Simulation键进行仿真。
3.6.3 只勾选支持SMTP协议和POP3协议:(Simple Mail Transfer Protocol,简单邮件传输协议;Post Office Protocol - Version 3,邮局协议版本3)
3.6.4 PC端写mail给服务器端:
另外,只能用PC端接受mail,因为设置的pop3服务器也是服务器端。
(注:如果出现如下问题,说明是DNS服务器未配置好,因为发邮件时是To一个域名,而非IP地址,因此需要域名解析,所以开启服务器端的DNS服务,并增设两条记录:
)
3.6.5 仿真后的信息传递结果如下:
3.6.6 报文分析:
- SMTP DATA表示将邮件报文发送给服务器
- POP3表示接收邮件报文
3.7 Q&A
Q:常用端口号?
A:
- 21/tcp FTP 文件传输协议
- 22/tcp SSH 安全登录、文件传送(SCP)和端口重定向
- 23/tcp Telnet 不安全的文本传送
- 25/tcp SMTP Simple Mail Transfer Protocol (E-mail)
- 69/udp TFTP Trivial File Transfer Protocol
- 80/tcp HTTP 超文本传送协议 (WWW)
- 110/tcp POP3 Post Office Protocol (E-mail)
- 220/tcp IMAP3
- 443/tcp HTTPS 安全的网页传输
4 Reference
· 深入理解DNS报文格式----夜苍山的CSDN博客
(https://blog.csdn.net/liao152/article/details/45252387)
· DNS协议详解及报文格式分析----Jocent Zhou的博客
(https://jocent.me/2017/06/18/dns-protocol-principle.html)
· FTP命令详解----罗汉爷的CSDN博客
(https://blog.csdn.net/indexman/article/details/46387561)
· DHCP报文及其格式----一路博客的CSDN博客
(https://blog.csdn.net/one_in_one/article/details/51684551)
第二次作业:使用Packet Tracer分析应用层协议(DNS、FTP、DHCP、SMTP、POP3)的更多相关文章
- 第二次实验报告:使用 Packet Tracer 分析应用层协议
个人信息: 姓名:倪晓东 班级:计算1811 学号:201821121020 1 实验目的 熟练使用Packet Tracer工具.分析抓到的应用层协议数据包,深入理解应用层协议,包括语法.语义.时序 ...
- 第二次实验报告:使用Packet Tracer分析应用层协议
个人信息: • 姓名:李微微 • 班级:计算1811 • 学号:201821121001 一.摘要 本文描述使用Packet Tracer,正确配置网络参数,抓 ...
- 第一次实验报告:使用Packet Tracer分析HTTP数据包
目录 1 实验目的 2 实验内容 3. 实验报告 第一次实验报告:使用Packet Tracer分析HTTP数据包 1 实验目的 熟练使用Packet Tracer工具.分析抓到的HTTP数据包,深入 ...
- 第三次作业:使用Packet Tracer分析TCP连接的建立与释放过程
0 个人信息 张樱姿 201821121038 计算1812 1 实验目的 使用路由器连接不同的网络 使用命令行操作路由器 通过抓取HTTP报文,分析TCP连接建立的过程 2 实验内容 使用Packe ...
- 第1次作业:使用Packet Tracer分析HTTP数据包
个人信息: • 姓名:李微微 • 班级:计算1811 • 学号:201821121001 一.摘要 本文将会描述使用Packet Tracer工具用到的网络结构 ...
- 第一次作业:使用Packet Tracer分析HTTP包
0 个人信息 张樱姿 201821121038 计算1812 1 实验目的 熟练使用Packet Tracer工具.分析抓到的HTTP数据包,深入理解:HTTP协议,包括语法.语义.时序. 2 实验内 ...
- 第三次实验报告:使用Packet Tracer分析TCP连接建立过程
目录 1 实验目的 2 实验内容 3. 实验报告 3.1 建立网络拓扑结构 3.2 配置参数 3.3 抓包,分析TCP连接建立过程 4. 拓展 (不作要求,但属于加分项) 1 实验目的 使用路由器连接 ...
- 第二次作业:APP案例分析
App案例分析 产品:三国杀-页游手游双通 选择理由 当今社会手机已经渐渐取代了电脑在人们日常生活的需求,既然要选择APP进行案例分析,首推的估计就是手机APP了.三国杀是陪伴我高中时代的主要娱乐方式 ...
- 集大1513 & 1514班 软件工程第二次作业评分与点评
谢谢按时完成作业的同学. 请大家在今后的作业中多思考,认真完成并注意作业的原创性. 学号 作业标题 作业地址 提交日期 分数 201521121087 微信APP简要分析 http://www.cnb ...
随机推荐
- 深度搜索(dfs)+典型例题(八皇后)
深度优先搜索简称深搜,从起点出发,走过的点要做标记,发现有没走过的点,就随意挑一个往前走,走不了就回退,此种路径搜索策略就称为“深度优先搜索”,简称“深搜”. 如上面的图所示:加入我们要找一个从V0到 ...
- React 多副本问题
Element ref was specified as a string (MySider) but no owner was set. This could happen for one of t ...
- 以阿里IoT开发物联网和应用平台
1. 链接物联网的概念 物联网(The Internet of Things,简称IOT)是指通过 各种信息传感器.射频识别技术.全球定位系统.红外感应器.激光扫描器等各种装置与技术,实时采集任何需要 ...
- springboot入门案例----eclipse编写第一个springboot程序
对于刚入门的springboot的新手来说,学的过程中碰到的一些问题记录下. 首先,配置好Maven环境及本地仓库 之后进入Maven安装目录conf文件夹下的settings.xml配置文件,用No ...
- AR+工业,带来哪些革变呢?
随着技术的普及相信大家对VR和AR也略有所知,尤其是AR增强现实技术,已经成为许多科技巨头企业争相扩疆的热土,目前来说,AR技术最广泛的应用是工业领域,已经显示出巨大的价值. ...
- Nacos(九):Nacos集群部署和遇到的问题
前言 前面的系列文章已经介绍了Nacos的如何接入SpringCloud,以及Nacos的基本使用方式 之前的文章中都是基于单机模式部署进行讲解的,本文对Nacos的集群部署方式进行说明 环境准备 J ...
- HBase的安装和使用
文章作者:foochane 原文链接:https://foochane.cn/article/2019062801.html 1 Hbase基本介绍 Hbase是一个分布式数据库,可以提供数据的实时 ...
- SQL奇技淫巧(01):给查出的数据排序编个号【row_number() over(order by c)】(mysql,db2,oracle,sqlserver通用)
我们天天都在跟数据库打交道,写下的代码不计其数,写下的SQL更是可以绕地球几圈.这里收集关于SQL的神奇语法及用法,虽然你可能没有用过,但这些SQL却可以在关键的时候,派上用场. 我对SQL语句的理解 ...
- python 11 迭代器
目录 1. 第一类对象的特点 2. 格式化 3.迭代器 3.1 可迭代对象 3.2 迭代器 4. 递归 1. 第一类对象的特点 #1. 函数名可以当作值被赋值给变量 def func(): print ...
- vue-cli2.X中引入高德地图,将其设为全局对象
平时一般未用脚手架构建或用webpack构建的项目只要用script标签引入即可,在vue-cli 2.X构建的项目中,需要用如下方式引入高德地图: 首先在高德地图开放平台中注册开发者账号并获取key ...