| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 深圳大学计算机网络实验三:数据包抓取与分析(Wireshark的基本使用) -> 正文阅读 |
|
[网络协议]深圳大学计算机网络实验三:数据包抓取与分析(Wireshark的基本使用) |
更好的阅读体验一、实验目的与要求学习安装、使用协议分析软件,掌握基本的数据报捕获、过滤和协议的分析技巧,能对抓取数据包进行分析。 二、实验内容与方法1、使用具有Internet连接的Windows操作系统; 协议分析软件的安装和使用、学会抓取数据包的方法并对对抓取数据包进行分析 三、实验步骤与过程认识Wireshark
可以看到Wireshark 窗口中有不同颜色的数据包 在Wireshark主界面,报文会显示各种各样的颜色,它们表示不同的含义。这些颜色,是由色彩规则控制的。 颜色规则: Wireshark 窗口各个信息: 表达式过滤:
ip.dst==192.168.1.102, 目标地址为192.168.1.102
分析数据包打开Wireshark程序执行抓包,访问如下网站(看网页和看视频),分别分析DNS、HTTP、TCP、UDP数据包
1.DNS打开http://www.szu.edu.cn/board/ 分析DNS数据包 在抓包开始前先将浏览器缓存清空 在浏览器中输入http://www.szu.edu.cn/board/,得到如下页面 可以看到图中8号数据包的Info中有Standard query 0xa9c7 A www.szu.edu.cn的信息 点击该数据包可以看到源IP地址为192.168.0.102,目的地址为103.27.24.2 点击18号数据包 可以看到,18号数据包的Info为Standard query response 0xa9c7 A www.szu.edu.cn A 210.39.4.1 2.HTTP打开 http://www.szu.edu.cn/tv/ 分析HTTP数据包 可以看到数据包中有许多TCP,SSL数据包,这是由于客户端和服务器都是在HTTP协议的基础上通过SSL加密隧道变成https进行通信的,Wireshark 没有再次设置的情况下是没有办法抓到包的 https 的数据包。所以没有抓取到http数据包 解决方法:
打开 Wireshark ,Wireshark - Perferences - Protocols - TLS ,在 (Pre)-Master-Secret log filename 输入 /tmp/.ssl-key.log 重新开始抓包 可以看到已经可以抓取到数据包了 接下来对数据包进行分析 可以从Info中看出浏览器和服务器运行的都是1.1版本的HTTP协议 服务器响应报文为56号报文 继续请求,77号数据包,响应为82号数据包,82号响应状态码为HTTP/1.1 302 Found\r\n下 一个请求为84号数据包,响应帧为88号,88号帧的响应状态码为404 Not Found 3.TCP3.打开http://www.youku.com 分析 TCP 数据包 在终端中执行:
在Wireshark过滤器输入 http 在浏览器输入优酷网址,可以看到Wireshark中http数据包的Info有 youku的字样 右键,Follow -> TCP Stream,追踪TCP数据流 可以得到如下页面: 点击Statistics -> Flow 可以得到如下页面: 在其中的Flow Type中选择TCP Flows,并选择时间戳和我们要分析的TCP数据流一致的数据,点击Limit to display filiter,可以得到如下窗口: 可以看出我的IP地址为192.168.0.102 优酷的IP地址为59.82.31.118 在客户端和youku.com之间启动 TCP 连接的 TCP SYN 区段的相对 S e q u e n c e n u m b e r Sequence number Sequencenumber 是0,绝对 S e q u e n c e n u m b e r Sequence number Sequencenumber 是 2758883771 2758883771 2758883771,这是一个随机值 根据三次握手,客户端应该发送 SYN 请求请求建立连接,我找到发送的第一个请求并且发现客户端(我的电脑)将 SYN 标志标 0 用来请求建立连接。这一步也是三次握手的第一步 Youku.com发送给客户的
可以发现,服务器端的
A
c
k
n
o
w
l
e
d
g
e
m
e
n
t
?
n
u
m
b
e
r
Acknowledgement\ number
Acknowledgement?number = 客户端的
S
e
q
u
e
n
c
e
?
n
u
m
b
e
r
+
1
Sequence\ number + 1
Sequence?number+1 客户端再次发送TCP报文段给服务器端的
TCP服务器进程收到该确认报文段后也进入连接已建立状态 现在,TCP双方都进入了连接已建立状态,它们可以基于已建立好的TCP连接,进行可靠的数据传输 点击Statistics-> TCP Stream Graph-> Time Sequence (tcptrace),可得下图 可以发现,跟踪文件中没有重新传输的段。我们可以通过检查跟踪文件中TCP数据段的序列号来验证这一点。在该轨迹的时间序列图(Stevens)中,从源(192.168.0.102)到目的地(59.82.31.118)的所有序列号都随着时间单调递增。如果存在重传数据段,则该重传数据段的序列号应小于其相邻数据段的序列号。 4.UDP打开http://www.sina.com.cn 分析 UDP 数据包 在过滤器中输入 UDP标头有4个字段,分别为:
UDP的源端口号为49947,目的端口号为53,长度为41,校验和为0x41b2 每个标头字段各自占两个bytes,总共为 4 × 2 = 8 4 \times 2 = 8 4×2=8 个bytes 由于占两个bytes,所以UDP 的有效载荷最大值为$ 2 ^{16} - 1 - 8 = 65527$ 最大的端口号可能为 2 16 ? 1 = 65535 2 ^ {16} - 1 = 65535 216?1=65535 UDP payload 为 33 bytes L e n g t h = U D P p a y l o a d + 4 ? 2 = 33 + 8 = 41 Length = UDP payload + 4 * 2 = 33 + 8 = 41 Length=UDPpayload+4?2=33+8=41 IP数据包中的UDP协议号为17,十六进制为0x11 响应该报文的数据包序号为 10 10号报文段: 请求报文和响应报文之间的关系:
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:27:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |