DNS、HTTP、SMTP协议分析(eNSP)

DNS、HTTP、SMTP协议分析

一、DNS协议

1. 概述

DNS协议用于域名和ip地址之间的转换。当一个应用程序需要把域名解析为ip地址时,就需要域名解析程序,将待解析的域名封装在DNS请求报文,以UDP形式发送给本地域名服务器,本地域名服务器在查找域名后将ip地址返回。

2. 域名解析过程

  1. 主机向本地域名服务器发送DNS请求报文,报文中携带需要查询的域名
    • 本地域名服务器采用迭代查询,向根域名服务器进行查询
    • 根域名服务器告诉本地域名服务器,下次需要查询的顶级域名服务器ip地址
    • 本地域名服务器向顶级域名服务器进行查询
    • 顶级域名服务器告诉本地,下次查询的权限域名服务器的ip地址
    • 本地域名服务器向权限域名服务器进行查询
    • 权限域名服务器告诉本地域名服务器对应的ip地址
  2. 本地域名服务器向主机回应DNS响应报文,其中包含对应的iip地址
  • 递归查询:主机向本地域名服务器发送请求查询域名,只需要等待最终查询结果,属于递归查询
  • 迭代查询:本地域名服务器向根域名服务器进行查询,根域名服务器告诉他下一步应该查询的地址,然后依次查询,每次都以客户机的形式向各个服务器进行查询

3. 实验组网

在这里插入图片描述

  • 在server上配置域名服务器。域名服务器的ip地址为10.1.1.1/24

4. 报文分析

在这里插入图片描述

4.1 请求报文

在这里插入图片描述

4.2 应答报文

在这里插入图片描述

二、HTTP协议

1. 概述

  1. 概念:Hyper Text Transfer Protocol 超文本传输协议
  2. 传输协议:定义了客户端和服务器通信时发送数据的格式
  3. 特点:
    • 基于TCP/IP的高级协议
    • 默认端口号:80
    • 基于请求/响应模型:一次请求对应一次响应
    • 无状态:每次请求之间相互独立,不能交互数据
  4. 历史版本:
    • 1.0:每次请求响应都会建立新的连接
    • 1.1:复用连接

2. 特点

  • 支持任意类型的数据对象
  • 每次连接只处理一个请求,服务器处理完客户端的请求收到应答之后则断开连接
  • 无状态,即对事务的处理没有记忆能力,后续需要处理前面的数据必须重传

3. 消息格式

  1. 请求方式
    • GET:请求参数在url中,url长度有限制
    • POST:请求参数在请求体,请求的url没有限制,相对安全
  2. 响应状态码
    • 1xx:服务器收到客户端消息,但没有接受完成,等待一段时间,发送1xx状态码
    • 2xx:成功。200
    • 3xx:重定向。代表:302(重定向),304(访问缓存)
    • 4xx:客户端错误
    • 404:请求路径没有对应资源
    • 405:请求方式没有对应的do xxx方法
    • 5xx:服务端错误。代表:500(服务器内部出现异常)

4. 实验组网

实验组网如图1,其中在server中配置http服务器,并且连接client用于获取http服务器中的文件、

5. 报文分析

5.1 请求

在这里插入图片描述

  • http协议封装在TCP中,则首先会进行TCP的三次握手
    在这里插入图片描述
  • http数据传输
    在这里插入图片描述

5.2 响应

在这里插入图片描述在这里插入图片描述

三、SMTP协议分析

1. 概述

简单邮件传输协议,工作在C/S模式下,用于实现邮件传输

2. 工作过程

  • 用户通过用户代理进行邮件的发送,用户代理一般为PC上的一个程序
  • 用户代理取到发信人的邮件后,生成符合邮件格式标椎的邮件
  • 用户代理使用SMTP将邮件发送到发送端邮件服务器
  • 发送端邮件服务器通过SMTP协议将邮件发送到接收端的邮件服务器
  • 接收端通过pop3协议取回邮件

3. 实验过程

3.1 SMTP

本次实验通过telnet连接远程163邮件服务器,通过命令了解SMTP在发送邮件时的交互过程

  • 在dos中输入telenet smtp.163.com 25
  • 输入helo smtp

在这里插入图片描述在这里插入图片描述
说明:在上面捕获的报文中可以看到客户端和服务器交互认证过程

  • 下面进行邮件的发送:MAIL : < [email protected] >

  • RCPT TO: < [email protected] >

  • DATA //需要发送的数据

  • QUIT //断开连接
    在这里插入图片描述
    在这里插入图片描述

  • 在图13中可以看到在发送邮件时客户端和服务器的交互过程

3.2 POP3

  • POP3协议用于服务端到客户端的邮件传输

  • 本次实验通过telnet协议登陆pop3服务器
    在这里插入图片描述
    注意:命令:telnet pop.163.com 110

​ user:邮箱用户名

​ pass:密码

​ list 查看邮件列表

​ retr 邮件编号(用于查看邮件)

​ dele 邮件编号(删除邮件)
在这里插入图片描述
注意:数据包中得到每次向pop发送命令时只发送一个字符
在这里插入图片描述

  • 在使用retr命令查看邮件时,pop协议会帮助用户从服务器上取到邮件

四、参考资料

发布了55 篇原创文章 · 获赞 20 · 访问量 3927

猜你喜欢

转载自blog.csdn.net/qq_40613029/article/details/105356032