分层网络模型
开放系统互联模型(OSI)
七层,从下向上
- 物理层:提供传输数据通路并传输数据
- 数据链路层:网络节点之间传送帧
- 网络层:选择合适的网间路由和节点
- 传输层:端与端之间的数据传输和处理
- 会话层:会话控制
- 表示层:表示信息
- 应用层:Email,文件传输,网络管理
TCP/IP基础
- 物理层:光电信号传递
- 数据链路层:设备之间传送帧
- 网络层:地址管理和路由选择
- 传输层:两台主机间的数据传输
- 应用层:应用程序之间的交流
不同层之间的协议
应用层是TCP/IP协议的最高层
1.域名管理系统(DNS)
2.超文本传输协议(HTTP)
3.文件传输协议(FTP)
4.简单邮件传输协议(SMTP)
5.简单网络管理协议(SNMP)
传输层与OSI参考模型的传输层对应
1.TCP协议(传输控制协议)
2.UDP协议(用户数据报协议)
网络层
- IP协议(网络互联协议)
- ICMP协议(网间控制报文协议)
层对电子取证的作用
TCP(传输层)
TCP提供有保证的端口到端口通信。 在发送http请求之前,我们需要确保通信正常(通过3次握手)(找到和哪个端口)
应用层
直接找到明文消息
取证中常见的网络应用
域名系统DNS
域名是分层树状的
域名服务器四种类型
根域名服务器:在因特网上有着13个根DNS服务器(标号为A到M),其中大部分位于北美洲。例如
a.rootservers.net
b.rootservers.net
…
m.rootservers.net
顶级域名服务器
这些服务器负责顶级域名(如com、org、net、edu和gov)和所有国家的顶级域名(如uk、fr、ca和jp)。
当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址)。
权威DNS服务器
在因特网上具有公共可访问主机(如Web服务器和邮件服务器)的每个组织机构必须提供公共可访问的DNS记录,这些记录将这些主机的名字映射为IP地址。
当一个权威域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权威域名服务器。
本地域名服务器
本地域名服务器对域名系统非常重要。
当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。
每一个因特网服务提供者ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,
域名服务器的可靠性
- DNS 域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。
- 当主域名服务器出故障时,辅助域名服务器可以保证 DNS 的查询工作不会中断。
- 主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。
域名解析过程
- 主机向本地域名服务器查询,采用递归查询
- 若主机在本地域名服务器触查不到该域名,就以DNS用户身份继续向其他根域名服务器发出查询请求报文
- 本地域名服务器向根服务器的查询是迭代查询
- 当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。
DNS缓存
- 每个域名服务器都有一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录
- 减轻域名服务器的负荷,使查询报文和回答报文大大减少
- 为保证高速缓存中的数据真的是及时的,应加一个计时器。
万维网(WWW)
万维网特征
- 分布的多媒体超文本系统
- 通过简单方式获得各种资源
- 利用超文本技术将各种形式的信息结合到一起
万维网工作方式
万维网以客户/服务器方式工作,你用浏览器向web服务器发送查看请求,web服务器根据你的请求将文件发给你
啥是超文本
在超文本系统中,信息存储在一系列文档中,而这些文档在不同的网站上,通过指针链接来联系
啥是超媒体
超文本都是文本信息,而超媒体的信息种类更多,有音频,视频等
超文本,超媒体中的信息存在那
信息资源以网页(web page)的形式存在WWW服务器中(WWW服务器是否就是WEB服务器?)用户可以通过页面中的超链接访问其他网页或其他信息资源。
主页(home page)是一类特殊的网页,是对个人或机构总体的介绍,然后通过主页中的超链接访问更详细的信息。
超文本标记语言HTML
统一资源定位符URL(网址)
<访问协议>: //<主机>:<端口>/<路径>
访问协议:访问资源的方式
主机:存放资源的主机在英特网中的域名地址
端口:服务进程的端口号(什么是端口?)
路径:资源在主机中的相对存储位置
例子:
http://www.pku.edu.cn/docs/intro.html
ftp://ftp.pku.edu.cn/pub/dos/readme.txt
超文本传输协议HTTP
HTTP是万维网客户端和服务器端遵守的协议,作用在应用层,依靠传输层上的TCP实现
HTTP响应报文
状态行,首部行,实体主体
HTTP请求报文
请求行,首部行,实体主体
状态码由三位数实现
- 1xx 表示通知信息,收到了或正在处理
- 2xx表示成功
- 3xx表示重定位,还需要进一步指示
- 4xx表示客户端出现错误
- 5xx表示服务器端出现错误
例子:
HTTP/1.1 202 Accepted {接受}
HTTP/1.1 400 Bad Request {错误的请求}
HTTP/1.1 404 Not Found {找不到}
用户如何与服务器端交互
- cookie表示在客户端与服务器端传递的消息
- 使用cookie的网站可以为用户生成一个识别码,观察用户在网站上的行动
cookie的四个组成部分 - 在http响应报文中有一个cookie首部行
- 在http请求报文中有一个cookie首部行
- 用户端系统中保留一个cookie文件,由用户的浏览器管理
- web站点有一个后端数据库
(1) 浏览器分析超链接指向页面的 URL。
(2) 浏览器向 DNS 请求解析 www.tsinghua.edu.cn 的 IP 地址。
(3) 域名系统 DNS 解析出清华大学服务器的 IP 地址。
(4) 浏览器与服务器建立 TCP 连接
(5) 浏览器发出取文件命令:
GET /chn/yxsz/index.htm。
(6) 服务器给出响应,把文件 index.htm 发给浏览器。
(7) TCP 连接释放。
(8) 浏览器显示“清华大学院系设置”文件 index.htm 中的所有文本
文件传输协议(FTP)
FTP功能:完成从一个系统到另一个系统的文件拷贝
特点:并不是针对特定的计算机系统和计算机而设计,通用,屏蔽细节完成任务。
在不同系统之间拷贝文件很复杂
- 计算机存储信息格式不同
- 文件的结构和命名规则不同
- 存取文件,不同的操作系统命令不同
FTP提出来就是为了解决不通用问题
FTP特点
-
采用客户服务器模式,一个FTP服务器可以给多个客户提供服务。
-
服务器进程主要分为两种:1. 主进程:负责新的用户请求,并启动相应的从属进程。
2.若干从属进程:负责处理具体的客户请求。 -
FTP要求客户在连接时给出服务器的合法账号,可以匿名访问(是谁匿名?)
匿名FTP
实质:提供服务的机构在他的FTP服务器上建立一个anonymous账户,然后通过这个账户可以访问公共目录,提供免费服务。
- 用户要访问这些匿名的FTP服务器,不需要账号和密码
- 大多数FTP服务器都是匿名的
- 为了安全,FTP只允许下载,不允许上传。
FTP双重连接
- 客户端发起控制连接,用来传递FTP指令,在会话期间一直打开
- FTP服务器发起的数据连接,用来传输FTP数据。
主进程是怎样工作的
- 打开端口,使客户进程能够连接上。
- 等待客户进程发出连接请求。
- 启动从属进程来解决客户进程发来的请求。从属进程处理完请求后就会停止。从属进程在运行过程中,也可以根据需要建立一些子进程。
- 主进程回到等待状态,继续处理客户进程发来的请求。主进程与从属进程是并发的。