> # ♻️ 资源
> **大小:** 2.96MB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100010393**](https://www.yuque.com/sxbn/ks/100010393)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/87377751**](https://download.csdn.net/download/s1t16/87377751)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
> ![qrcode_for_gh_d52056803b9a_344.jpg](https://cdn.nlark.com/yuque/0/2023/jpeg/2469055/1692147256036-49ec7e0c-5434-4963-b805-47e7295c9cbc.jpeg#averageHue=%23a3a3a3&clientId=u8fb96484-770e-4&from=paste&height=140&id=u237e511a&originHeight=344&originWidth=344&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=8270&status=done&style=none&taskId=ud96bf5f7-fe85-4848-b9c2-82251181297&title=&width=140.1999969482422)
# 计算机网络实验
## 实验一:Wireshark 抓包工具使用
### 一、实验目的
1. 学习 Wireshark 抓包工具的使用
2. 了解 Wireshark 抓包工具的功能
3. 通过学习,进一步理解协议及网络体系结构思想
### 二、实验内容
使用 Wireshark,并学习使用它进行网络包分析。
### 三、实验原理
Wireshark 是网络包分析工具;网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。Wireshark 常见的应用如下:
- 网络管理员用来解决网络问题
- 网络安全工程师用来检测安全隐患
- 开发人员用来测试协议执行情况
这里,我们通过 Wireshark 来学习常见的网络协议。
### 四、实验过程
包含了从安装 Wireshark 开始到使用 Wireshark 观察一些现象的过程:
#### 4.1 下载 Wireshark
Wireshark 的官方网站是:[https://www.wireshark.org/](https://www.wireshark.org/),下载地址是 [https://2.na.dl.wireshark.org/win64/Wireshark-win64-3.4.6.exe](https://2.na.dl.wireshark.org/win64/Wireshark-win64-3.4.6.exe)
#### 4.2 准备工作
再 Powershell 中输入 `ipconfig` 查询本机的 IP 信息:
![c127f0579274b1f45b0690bfd42eb2a2.PNG](https://cdn.nlark.com/yuque/0/2024/png/2469055/1710988461135-780f28a2-927f-484e-afb5-0ae0154731bf.png#averageHue=%23d3d5dc&clientId=ud3aa06fb-d928-4&from=paste&height=566&id=u0677355e&originHeight=707&originWidth=1123&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=1041952&status=done&style=none&taskId=uaef3819b-005b-4fcf-b572-5a7db50d91e&title=&width=898.4)
在同局域网下打开另一台设备,启动一个服务器:
![6f4e4827f3f44ea02a9a8fb9fa5b56a8.PNG](https://cdn.nlark.com/yuque/0/2024/png/2469055/1710988474902-91b0487e-cbbe-4339-a46b-a5ecbc772e4f.png#averageHue=%23302f40&clientId=ud3aa06fb-d928-4&from=paste&height=950&id=ue06ae42b&originHeight=1188&originWidth=1870&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=582753&status=done&style=none&taskId=u29c28890-1b24-4107-af06-795c2322b32&title=&width=1496)
查看局域网内的这台设备的 IP 地址:
![1da817e3a90e21cc2a77cae8cd9a8552.PNG](https://cdn.nlark.com/yuque/0/2024/png/2469055/1710988489783-0b4f8101-4bfc-41cf-9867-6aa03d2d001c.png#averageHue=%23352e3f&clientId=ud3aa06fb-d928-4&from=paste&height=950&id=u12f12820&originHeight=1188&originWidth=1870&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=611950&status=done&style=none&taskId=ufac1f241-cba2-4c71-a016-45a42aebf7e&title=&width=1496)
可以得到的信息汇总如下:
| 机器 | IP(v4) 地址 | 子网掩码 | 默认网关 |
| --- | --- | --- | --- |
| 主机 | 192.168.3.2 | 255.255.255.0 | 192.168.3.1 |
| 服务器 | 192.168.3.71 | 255.255.255.0 | 192.168.3.1 |
因为只需要这些信息,所以直接在 Powershell 中获取;需要更详细的信息也可以通过网络适配器选项中来获得。接下来使用 Wireshark 捕获两者之间的通讯数据包,并且进行分析。
#### 4.3 启动 Wireshark
首先需要先选择监听的网络设备:
![4eb70dad48921ead8392f35ab0ded56a.PNG](https://cdn.nlark.com/yuque/0/2024/png/2469055/1710988518169-05800a09-516a-4d7a-970c-f156d4ac16ec.png#averageHue=%23f8f7f7&clientId=ud3aa06fb-d928-4&from=paste&height=646&id=uad09ae56&originHeight=807&originWidth=962&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=60942&status=done&style=none&taskId=ue1e06492-37a9-43bf-a4d5-6e4a6a9938b&title=&width=769.6)
然后,就可以开始捕获以太网的通信数据包:
![b44063b3b8f19c57e2e5fd47881e76ec.PNG](https://cdn.nlark.com/yuque/0/2024/png/2469055/1710988540764-4b99a956-1a23-48b2-8a64-d41b81cf91f5.png#averageHue=%23ede7e6&clientId=ud3aa06fb-d928-4&from=paste&height=645&id=u0c14c360&originHeight=806&originWidth=1442&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=100848&status=done&style=none&taskId=u620e3261-ac6e-4c41-b253-1df5b9ed157&title=&width=1153.6)
接下来,可以进行捕获通过它的特定报文,并且分析内容。
#### 4.4 TCP 握手
浏览器访问上面查询到的服务器的地址 `http://192.168.3.71`,并且在 Wireshark 中设定限制条件(过滤器) `ip.src == 192.168.3.71 or ip.dst == 192.168.3.71` 来只捕获来自这两个 IP 地址之间的通信。
![634f4b02bd274cf5c2d0461067912887.PNG](https://cdn.nlark.com/yuque/0/2024/png/2469055/1710988558927-34f402f3-6091-4ccb-8105-03fc331ce971.png#averageHue=%23f9f9f8&clientId=ud3aa06fb-d928-4&from=paste&height=645&id=ua2cc5dc7&originHeight=806&originWidth=1558&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=75350&status=done&style=none&taskId=u4bebe061-7b8e-4868-ad61-3390acde840&title=&width=1246.4)
高亮的部分就是 TCP 的三次握手。
#### 4.5 TCP 报文分析示例
这是上述三次握手过程中的第二次握手的报文的详细信息:
![37d489b45a139f3ea0c490674d08e129.PNG](https://cdn.nlark.com/yuque/0/2024/png/2469055/1710988577887-5fc96bac-6017-4be6-9b3f-1ad105464d65.png#averageHue=%23f5f4f3&clientId=ud3aa06fb-d928-4&from=paste&height=618&id=ue2893f3b&originHeight=772&originWidth=1247&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=77774&status=done&style=none&taskId=ue8793ce7-35ba-4bfb-b7be-6e070e17024&title=&width=997.6)
| 项目 | 信息 | 说明 |
| --- | --- | --- |
| 源端口 | 80 | 服务器的 HTTP 默认端口,服务确实开在 80 端口上 |
| 目的端口 | 61577 | 用户浏览器当前开启的用于和服务器通信的端口 |
| TCP 段长度 | 0 | 该报文不携带数据 |
| Sequence 数字 | 0 | `Seq=0` |
| Acknowledge 数字 | 1 | 期望收到的下一个报文满足 `Seq=1` |
| 首部长度 | 32 bytes (8) | 8 * 4B = 32 bytes |
| 标志 | 0x012 | SYN 和 ACK 位为 1 |
| 校验和 | 0x5426 | 校验和为 0x5426,未验证 |
#### 4.6 HTTP 报文分析
在 TCP 握手完成之后,服务器将使用 HTTP 协议传输数据到浏览器;我们在紧接着握手完成后面的位置找到了使用 HTTP 协议传输的数据包;可以打开查看其详细信息:
![65116c162af21631a3bd8fb37c38a2c5.PNG](https://cdn.nlark.com/yuque/0/2024/png/2469055/1710988609040-59fc73d9-6e3f-4c50-b186-9d57df4243df.png#averageHue=%23f4f3f1&clientId=ud3aa06fb-d928-4&from=paste&height=618&id=uc6405a5e&originHeight=772&originWidth=1247&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=77826&status=done&style=none&taskId=u06ae962c-a640-4cb6-bf7b-454e5a6db41&title=&width=997.6)
| 内容 | 信息 |
| --- | --- |
| `GET / HTTP/1.1` | 操作类型:GET;遵循了 HTTP 1.1 版本的协议 |
| `Host: 192.168.3.71` | 主机名:192.168.3.71;当绑定域名的场合下会是主机的域名 |
| `Connection: keep-alive` | 连接类型是保持持久连接 |
| `User-Agent: ...` | 用户的客户端信息;这里有个 `Mozilla/5.0 (Windows NT 10.0 ...)`
说明是运行在 Windows 10 上的火狐浏览器 |
| …… | …… |
HTTP 头能塞的东西还挺多的,这里就不全部说明了;当然,这里所包含的项目也未必完整。
### 五、思考题
**网络工程师能通过 Wireshark 做哪些工�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
详情介绍:https://www.yuque.com/sxbn/ks/100010393 计算机网络实验,包括Wireshark 抓包工具使用、WinPcap 编程、协议分析&流量统计程序的编写。 实验一:Wireshark 抓包工具使用 学习 Wireshark 抓包工具的使用 了解 Wireshark 抓包工具的功能 通过学习,进一步理解协议及网络体系结构思想 实验二:WinPcap 编程 了解 NpCap 架构和运行逻辑 学习使用 NpCap SDK 进行编程 实验三:协议分析&流量统计程序的编写 利用 NpCap 编写协议分析工具;输出抓取的包和协议分析结构,并统计 IP 的流量(即包的数量)。 利用 NpCap 捕获数据包,并可根据要求进行数据包过滤。 根据 IP 协议,解析每个数据包的 PCI,展示其在不同网络层次所使用的协议结构和具体信息。 根据 IP 地址,统计源自该 IP 地址的流量,即捕获到的数据包的数量。 运行程序后将捕获的信息输出到标准输出流中。
资源推荐
资源详情
资源评论
收起资源包目录
100010393-计算机网络实验(Wireshark 抓包工具使用、WinPcap 编程、协议分析&流量统计程序的编写).zip (58个子文件)
comsy
include
handlers.h 912B
helpers.h 483B
definitions.h 3KB
utils.h 3KB
CMakeLists.txt 951B
src
udp_dump.c 6KB
helpers.cpp 939B
utils.cpp 4KB
basic_dump_ex.c 3KB
handlers.cpp 5KB
if_list.c 4KB
LICENSE 1KB
main.cpp 2KB
img
TCP连接建立.jpg 25KB
TCP协议.png 11KB
screenshots
正在捕获以太网.png 98KB
局域网内开启服务器.png 569KB
网络适配器.png 47KB
检查局域网内服务器IP.png 598KB
报文详细分析.png 76KB
查看IP地址.png 1018KB
HTTP报文.png 76KB
TCP握手.png 74KB
打开网络设备.png 60KB
协议栈分析.png 109KB
以太网协议.png 38KB
ARP协议.png 92KB
TCP包格式.jpg 45KB
ICMP协议.png 10KB
UDP协议.png 22KB
IP协议.png 57KB
module
include
pcap-namedb.h 2KB
pcap-bpf.h 2KB
pcap.h 2KB
Packet32.h 20KB
pcap
pcap-inttypes.h 3KB
namedb.h 3KB
funcattrs.h 12KB
compiler-tests.h 6KB
can_socketcan.h 2KB
usb.h 4KB
pcap.h 42KB
vlan.h 2KB
bluetooth.h 2KB
dlt.h 47KB
ipnet.h 2KB
sll.h 6KB
nflog.h 4KB
bpf.h 9KB
socket.h 3KB
lib
Packet.lib 10KB
x64
Packet.lib 10KB
wpcap.lib 26KB
wpcap.lib 26KB
.run
auto_select.run.xml 611B
test
main.cpp 311B
auto_select.txt 6B
README.md 37KB
共 58 条
- 1
资源评论
神仙别闹
- 粉丝: 2674
- 资源: 7640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功