抓包工具介绍:
network面板 wireshark tcpdump
学习TLS/SSL 掌握Wireshark 体验非对称加密的流程
学习TCO/IP 时 应从客户端 代理服务器 源服务器分别抓包 tcpdump 配合wireshark达到对比验证的目的
一、 HTTP1.1
浏览器发起http请求的典型场景



RFC文档是对所有协议最权威的定义
基于ABNF语义定义的HTTP消息格式
http协议格式
GET / HTTP/1.1
HOST: time.geedbang.org
访问极客时间首页的http请求行
HTTP/1.1 200 OK
Date: Tue,26 Mar 2019 02:39:11 GMT
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive
响应行
start-line:request-line(GET / HTTP/1.1) status-line(HTTP/1.1 200 OK)
header-field
message-body
ABNF操作符
定义协议语法的源语言
- 空白字符 : 用来分隔定义中的各元素 methodSPrequest-targetSPHTTP-version CRLF SP代表空格
- 选择/ : 表示多个规则都是可供选择的规则 start-line = request-line / status-line 起始行既可以是请求行也可以是响应行
- 值范围 %c##-## "0"/"1"/"2" 0-2可选的或者关系 可以用%x30-32表示 (十六进制) 后者更加简洁
- 序列组合():将规则组合起来,视为单个元素
- 不定量重复元素m*n 表示m-n个元素 :*表示零个或更多元素 *(header-field CRLF) http头部可以有0个或更多个 必须以CRLF结尾
- 可选序列[]: [message-body]
ABNF核心规则



HTTP消息格式演示
xShell telnet 交互界面友好

输入GET /wp-content/plugins/Pure-Highlightjs_1.0/assets/pure-highlight.css?ver=0.1.0 HTTP/1.1 Host:www.taohui.pub
两次回车
得到响应
wireshark安装
下载地址:www.wireshark.org/download.ht…
傻瓜式安装

监听80端口

在xshell中发送请求

OSI概念模型

- 应用层 解决业务问题
- 表示层 负责把网络中的消息转换成应用层可以读取的消息
- 会话层 概念化的一层 建立会话 握手 维持链接 关闭
- 传输层 决定进程与进程间的通讯 保证报文的可达性 流量的控制
- 网络层 主要负责ip协议 在广域网中可以从一个主机把报文发送到另一个主机上
- 数据链路层 使用mac地址 连接相应的交换机或路由器 把报文转到另一个主机上
- 物理层 物理介质
