应用层概述:
DNS
HTTP
SMTP和POP3/IMAP
Telnet和SSH
FTP和TFTP
使用大佬的DNS原理总结及其解析过程详解(详解请看大佬文章)
概述:域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢?这是因为在这种因特网的命名系统中使用了许多的“域(domain)”,因此就出现了“域名”这个名词。“域名系统”明确地指明这种系统是应用在因特网中。
我们都知道,IP地址是由32位的二进制数字组成的。用户与因特网上某台主机通信时,显然不愿意使用很难记忆的长达32位的二进制主机地址。即使是点分十进制IP地址也并不太容易记忆。相反,大家愿意使用比较容易记忆的主机名字。但是,机器在处理IP数据报时,并不是使用域名而是使用IP地址。这是因为IP地址长度固定,而域名的长度不固定,机器处理起来比较困难。
因为因特网规模很大,所以整个因特网只使用一个域名服务器是不可行的。因此,早在1983年因特网开始采用层次树状结构的命名方法,并使用分布式的域名系统DNS。并采用客户服务器方式。DNS使大多数名字都在本地解析(resolve),仅有少量解析需要在因特网上通信,因此DNS系统的效率很高。由于DNS是分布式系统,即使单个计算机除了故障,也不会妨碍整个DNS系统的正常运行。
域名到IP地址的解析是由分布在因特网上的许多域名服务器程序共同完成的。域名服务器程序在专设的结点上运行,而人们也常把运行域名服务器程序的机器称为域名服务器。
作用:
下图为DNS通讯的流程:
每一次访问域名,都会向DNS服务器查询,DNS服务器进行响应,完成目的地址的封装。
DNS大致分为请求报文request和响应报文relay。
常用的DNS服务器:114.114.114.114
系统自带的DNS查询工具
命令 备注
nslookup 进行DNS查询
ipconfig /display DNS 查看DNS缓存
ipconfig /flushDNS 清空DNS缓存
具体看系统的命令选项。
http对于https来说没有安全性可言。2020年了,大多数使用的https协议。
客户端首先发送get报文给服务器,请求将源代码发送。
服务器将页面文件翻译文本、图像、音乐、动作及视频给客户端。
HTTP不安全,数据没有经历过加密,抓包可以抓取到账号密码,没有安全性可言。
详情大佬的HTTP和HTTPS详解
http的URL的结构:
使用HTTP协议访问资源是通过URL(Uniform Resource Locator)统一资源定位符来实现的。URL的格式如下:
scheme://host:port/path?query
scheme: 表示协议,如Http, Https, Ftp等;
host: 表示所访问资源所在的主机名:如:www.baidu.com;
port: 表示端口号,默认为80;
path: 表示所访问的资源在目标主机上的储存路径;
query: 表示查询条件;
例如: http://www.baidu.com/search?words=Baidu
HTTP的请求方法:
GET: 获取URL指定的资源;
POST:传输实体信息
PUT:上传文件
DELETE:删除文件
HEAD:获取报文首部,与GET相比,不返回报文主体部分
OPTIONS:询问支持的方法
TRACE:追踪请求的路径;
CONNECT:要求在与代理服务器通信时建立隧道,使用隧道进行TCP通信。主要使用SSL和TLS将数据加密后通过网络隧道进行传输。
HTTP应答状态码:
状态码 | 类别 | 描述 |
---|---|---|
1xx | Informational(信息性状态码) | 请求正在被处理 |
2xx | Success(成功状态码) | 请求处理成功 |
3xx | Redirection(重定向状态码) | 需要进行重定向 |
4xx | Client Error(客户端状态码) | 服务器无法处理请求 |
5xx | Server Error(服务端状态码) | 服务器处理请求时出错 |
协议 | 备注 |
---|---|
SMTP | Simple mail transfer protocol 简单邮件传输协议用于发送邮件 |
POP3 | Post office protocol v3 邮局协议版本3用于接收邮件 |
IMAP | Internet massage access protocol 互联网邮件访问协议类似于POP3,功能更多 |
远程管理的主要协议(网络设备、服务器、数据库等)
常用终端工具有:SecureCRT、Putty、Xshell
Telnet 不安全,在抓包可以看到账号密码,现在多数使用SSH
telnet:(Telecommunication和Network的联合缩写)
是TCP/IP协议族中的一员,属于应用层协议,是Internet远程登录服务器的标准协议和主要方式。
telnet服务属于典型的客户机/服务器模型,当用telnet登录远程计算机的时候,实际上启动了两个程序:运行在本地计算机的telnet客户端程序;运行在登录的远程计算机上的telnet服务程序。
使用telnet服务的目的:(主要目的可以总结为使用远端计算机/服务器上的资源)
telnet远程登录的基本过程:
由 IETF 网络工作小组(Network Working Group )制定;在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。确保了传递的数据安全。
SSH是专为远程登录会话和其他网络服务提供的安全性协议。利用 SSH 协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境运维工作中,绝大多数企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件,如telnet(23端口,非加密的)等。
在默认状态下,SSH服务主要提供两个服务功能:
n 一是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务。
n 另一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的.提供更安全的SFTP服务(vsftp,proftp)。
协议 | 备注 |
---|---|
FTP | File transfer protocol 文件传输协议,提供可靠的文件传输服务具有认证、权限等功能。 |
TFTP | Trivial file transfer protocol 简单文件传输协议,提供不可靠的文件传输服务消耗资源较小,速度较快常用于网络设备的配置文件和系统文件传输。 |
ftp承载于tcp之上,提供可靠的面向连接数据流的传输服务,但它不提供文件存取授权,以及简单的认证机制(通过明文传输用户名和密码来实现认证)。ftp在进行文件传输时,客户机和服务器之间要建立两个连接:控制连接和数据连接。首先由ftp客户机发出传送请求,与服务器的21号端口建立控制连接,通过控制连接来协商数据连接。
tftp承载在udp之上,提供不可靠的数据流传输服务,同时也不提供用户认证机制以及根据用户权限提供对文件操作授权;它是通过发送包文,应答方式,加上超时重传方式来保证数据的正确传输。tftp相对于ftp的优点是提供简单的、开销不大的文件传输服务。