ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

计算机网络形考作业四实验报告写作指南:Wireshark抓包与TCP分析

计算机网络形考作业四实验报告写作指南:Wireshark抓包与TCP分析 简介这份文档面向国家开放大学《计算机网络本》课程的学习者针对形考作业四的实验报告需求提供《组建简单以太网》实验的完整参考与答案。内容围绕传输介质、网络拓扑、交换机等基础概念展开重点讲解直通与交叉双绞线的制作流程涵盖剥线、排线、压接RJ-45水晶头等关键操作并给出568A与568B两种线序标准及交叉线1-3、2-6的对应关系。同时包含测线器连通性检测方法、双机通信的IP配置与PING命令验证步骤以及不少于200字的实验总结范例便于对照完成报告撰写与实验复盘。资源为1个docx文档压缩包约210KB篇幅精炼、结构清晰适合需要快速理清实验要点、补齐操作细节的国开学员参考使用。目前已有999人学习下载。1. 形考作业四的计算机网络实验报告从抓包到结论的完整链路很多同学做《计算机网络本》形考作业四时卡住的地方不是不会操作而是不知道一份能拿得出手的实验报告到底该长什么样。形考作业四通常要求围绕一个具体的网络实验展开比如用抓包工具观察 TCP 三次握手、分析 HTTP 请求响应过程、或者用 ping/tracert 验证网络连通性。问题在于很多人把实验做完了报告却写成了一篇流水账既没有数据支撑也没有分析逻辑最后得分自然不理想。这篇笔记面向正在做这份形考作业的读者把一份合格实验报告的结构、数据采集方法、分析写法以及常见扣分点拆开讲清楚让你照着就能把报告写完整。2. 实验报告的结构拆解每一节到底写什么2.1 实验目的与环境的写法实验目的不是抄题目。常见做法是把课程教材里对应章节的知识点提炼成两到三句话。比如做 TCP 抓包实验目的可以写成验证 TCP 三次握手的报文交互过程观察 SYN、SYN-ACK、ACK 三个报文的序号和标志位变化理解面向连接传输的建立机制。这样写既扣住了实验内容又体现了你对知识点的理解。实验环境部分需要写清楚操作系统版本、抓包工具名称及版本、网络拓扑是本机回环还是局域网内两台主机。如果你用的是 Wireshark写清楚版本号如果用的是 tcpdump写清楚命令行的操作系统。这部分不需要长篇大论一个表格就能说清楚。项目内容操作系统Windows 10 专业版 21H2抓包工具Wireshark 3.6.8网络环境本机回环地址 127.0.0.1实验对象访问本地 HTTP 服务产生的 TCP 流量2.2 实验步骤的颗粒度控制实验步骤最忌讳写得太粗或太细。太粗比如“打开 Wireshark 抓包”阅卷老师看不到你具体做了什么太细比如把每个鼠标点击都写进去又显得啰嗦。合适的颗粒度是每一步都能让另一个人照着复现同时每一步都对应一个可观察的现象。以 TCP 三次握手抓包为例步骤可以这样写# 第一步启动抓包工具选择回环接口 # Windows 下选择 Adapter for loopback traffic capture # Linux 下选择 lo 接口 # 第二步设置过滤条件只抓 TCP 且端口为 80 的流量 tcp port 80 # 第三步在浏览器或 curl 中发起 HTTP 请求 curl http://127.0.0.1:80 # 第四步停止抓包保存为 .pcapng 文件每一步后面要跟一句说明这一步的目的是什么预期能看到什么。比如第三步后面写“发起请求后Wireshark 会捕获到 SYN 报文标志位为 0x002”。这样步骤就不是孤立的操作而是有观察目标的实验动作。2.3 数据记录与分析的核心写法这是整份报告最拉分的地方。很多同学只贴一张 Wireshark 截图就完事了没有对报文内容做任何解读。正确的做法是先描述观察到的现象再解释背后的协议机制。比如你抓到了三次握手的三个报文应该分别列出报文序号源地址目的地址标志位序号确认号1127.0.0.1:52341127.0.0.1:80SYN002127.0.0.1:80127.0.0.1:52341SYN-ACK013127.0.0.1:52341127.0.0.1:80ACK11然后逐条分析第一个报文客户端发送 SYN序号为 0表示请求建立连接第二个报文服务端回复 SYN-ACK确认号为 1表示已收到客户端的 SYN 并同意建立连接第三个报文客户端发送 ACK确认号为 1连接建立完成。这样的分析才叫“实验报告”而不是“截图合集”。3. 用 Wireshark 抓包做 TCP 实验的完整操作流程3.1 抓包前的环境准备与过滤设置在开始抓包之前先确认你的实验环境能产生你想要的流量。如果你要抓 TCP 三次握手最稳妥的方式是本地起一个 HTTP 服务然后用 curl 或浏览器访问。Windows 下可以用 Python 自带的 http.server 模块快速起一个# 在某个目录下启动一个简单的 HTTP 服务监听 80 端口 python -m http.server 80 # 如果 80 端口被占用可以换成 8080 python -m http.server 8080启动之后打开 Wireshark选择回环接口。注意 Windows 下默认没有回环接口需要安装 Npcap 时勾选“Support loopback traffic capture”或者直接用 Linux 虚拟机做实验。选择接口后在过滤栏输入tcp.port 80然后点击开始抓包。提示过滤条件一定要在抓包前设置好否则抓到的数据包太多后期筛选很麻烦。如果已经抓了一大堆可以用显示过滤器tcp.flags.syn 1快速定位 SYN 报文。3.2 触发流量与定位关键报文环境准备好之后在另一个终端执行 curl 命令# 发起一次 HTTP 请求触发 TCP 三次握手 curl -v http://127.0.0.1:80执行完立刻回到 Wireshark 停止抓包。这时候你应该能看到至少三个 TCP 报文SYN、SYN-ACK、ACK。如果没看到检查过滤条件是不是写错了或者服务根本没起来。定位关键报文的方法很简单在 Wireshark 的显示过滤器里输入tcp.flags.syn 1 and tcp.flags.ack 0这就是第一个 SYN 报文再输入tcp.flags.syn 1 and tcp.flags.ack 1这是 SYN-ACK 报文最后输入tcp.flags.ack 1 and tcp.flags.syn 0这是纯 ACK 报文。找到这三个报文之后分别右键点击选择“Follow TCP Stream”可以看到整个 TCP 流的完整交互过程。但注意Follow TCP Stream 展示的是应用层数据对于三次握手这种没有应用层数据的报文你需要在报文详情面板里展开 TCP 协议树查看 Flags、Sequence Number、Acknowledgment Number 等字段。3.3 导出数据与截图规范写报告需要贴图但贴图有讲究。不要贴整个屏幕的截图那样字太小看不清。正确做法是在 Wireshark 里选中你要展示的报文调整窗口大小让报文列表和详情面板都能看清然后截图。每张截图下面要配文字说明比如“图 1TCP 三次握手第一个 SYN 报文标志位为 0x002序号为 0”。如果需要导出报文数据可以用 Wireshark 的“Export Specified Packets”功能把选中的报文单独保存成一个 pcapng 文件。这样万一老师要求提交原始数据你也有东西可交。# 用 tshark 命令行导出特定报文tshark 是 Wireshark 的命令行版本 tshark -r capture.pcapng -Y tcp.flags.syn 1 -w syn_packets.pcapng这条命令的意思是读取 capture.pcapng 文件用显示过滤器筛选出 SYN 标志位为 1 的报文另存为 syn_packets.pcapng。参数-Y后面跟的是显示过滤器表达式-w后面跟的是输出文件名。4. 实验报告里最容易翻车的五个坑4.1 截图模糊、关键字段被遮挡现象贴上去的截图看不清序号、确认号或标志位老师无法核对你的分析。原因截图时窗口太小或者报文详情面板没有展开到 TCP 层。解决截图前把 Wireshark 窗口最大化选中报文后展开详情面板中的 TCP 协议树确保 Flags、Seq、Ack 三个字段可见。如果还是看不清可以单独截取详情面板的局部图。4.2 分析部分只描述现象不解释原理现象报告里写“第一个报文是 SYN第二个是 SYN-ACK第三个是 ACK”然后就没了。原因把实验报告当成了操作记录没有结合课程知识点。解决每描述一个现象后面跟一句“这说明……”。比如“客户端发送 SYN 报文序号为 0说明客户端请求建立连接并告知自己的初始序号”。这样才体现你理解了协议机制。4.3 实验步骤缺少可复现的命令或参数现象步骤写“打开抓包工具设置过滤条件”但没写过滤条件是什么。原因写的时候觉得自己记得住但阅卷老师不知道。解决每一步都写清楚具体命令或具体参数值。比如“在过滤栏输入 tcp.port 80”而不是“设置过滤条件”。如果是图形界面操作写清楚点了哪个菜单、选了哪个选项。4.4 数据记录与结论不对应现象数据部分抓的是 TCP 握手结论部分却在写 HTTP 请求响应。原因实验做了多个内容写报告时没有聚焦。解决一份报告只围绕一个实验目标展开。如果确实做了多个实验分成多份报告写或者在同一份报告里分节写清楚每节的数据和结论一一对应。4.5 格式混乱、缺少必要的图表编号现象截图没有编号表格没有表头段落之间没有逻辑连接。原因写的时候没有按学术写作规范来。解决每张图配“图 X说明”每个表配“表 X说明”图表在正文中要有引用比如“如图 1 所示”。段落之间用“首先、其次、然后、最后”或者“在完成 X 之后接下来观察 Y”来衔接。5. 从形考作业到课程设计的进阶写法如果你做完形考作业四之后觉得这个方向有意思想把它扩展成课程设计或者期末大作业有几个进阶方向可以走。第一个方向是换协议把 TCP 换成 UDP对比两者在相同网络条件下的抓包结果分析面向连接和无连接的区别。第二个方向是加场景不只抓本机回环流量而是在局域网内两台主机之间抓包观察真实网络中的延迟、重传和窗口变化。第三个方向是写脚本自动化分析用 Python 的 scapy 库读取 pcap 文件自动统计 SYN、ACK、FIN 报文的数量和时序。from scapy.all import rdpcap, TCP # 读取抓包文件 packets rdpcap(capture.pcapng) # 统计各类 TCP 标志位报文数量 syn_count 0 syn_ack_count 0 ack_count 0 fin_count 0 for pkt in packets: if TCP in pkt: flags pkt[TCP].flags if flags S: syn_count 1 elif flags SA: syn_ack_count 1 elif flags A: ack_count 1 elif flags F: fin_count 1 print(fSYN: {syn_count}, SYN-ACK: {syn_ack_count}, ACK: {ack_count}, FIN: {fin_count})这段代码的逻辑很直接遍历 pcap 文件中的每个报文检查是否包含 TCP 层然后根据 flags 字段的值分类计数。参数说明rdpcap是 scapy 读取抓包文件的函数返回一个报文列表pkt[TCP].flags返回的是标志位字符串S代表 SYNSA代表 SYN-ACKA代表 ACKF代表 FIN。跑完这个脚本你就能在报告里写“本次实验共捕获 SYN 报文 1 个SYN-ACK 报文 1 个ACK 报文 1 个FIN 报文 0 个”比手动数准确得多。我自己的习惯是每次做完实验先把原始 pcap 文件存好然后用脚本跑一遍统计把统计结果和手动分析的结果对一遍。如果对不上说明要么过滤条件写错了要么脚本逻辑有问题。这个对账的过程本身就能帮你发现很多细节问题。希望帮到你。本文还有配套的精品资源点击获取
返回列表