ARTICLE DETAIL

资讯详情

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

计算机网络实验报告写作指南:抓包与协议字段深度解析

计算机网络实验报告写作指南:抓包与协议字段深度解析 简介计算机网络实验报告PDF源自桂林航天工业学院课程设计总结面向高校软件工程、网络工程专业学生及网络技术初学者系统呈现从局域网基础命令到路由协议配置的完整实验链路。资源为单个PDF文档约5.62MB轻量易用方便阅读和打印。已有62人学习/下载适合作业参考与考前复盘。报告按十个课程设计项目展开涵盖小型网络组建常用命令、FTP服务器配置、VLAN划分、静态路由、RIPv2、WWW服务、单区域OSPF、协议数据包结构分析、子网划分及CRC计算每项均含实验目的、要求、步骤、命令输出与Cisco Packet Tracer配置实例。读者可对照检查配置思路、理解工作原理、积累常见网络故障的判别与解决方法同时为撰写同类实验报告提供清晰的结构范本。1. 为什么计算机网络实验报告的核心是让协议现象可复现一份文件名里带着(20211004165046)的实验报告 PDF如果只是把 ping 的截图贴进 Word 再另存为 PDF评审通常翻两页就会放下。原因在于报告里没有“协议现象”。计算机网络基础实验报告要回答的是你在某个拓扑里发了什么帧、收到了什么回应、字段能不能与规范对上。系统提示“检测到异常流量”的真实场景最能说明价值——要从一条原始帧判断正常 ARP 广播还是扫描行为这种判断力就从逐字段分析练出来。有说服力的实验报告等于“可复现的实验条件 关键报文字段解读 数据算出的结论”。下面顺着实验报告 PDF 的制作链路展开先说实验网络与抓包准备再讲 ARP、ICMP、TCP 和 CRC 校验如何在报文里观察然后处理数据统计与报告表格最后给出交付前的验证技巧。新手可按步骤复现熟手可核对校验和卸载、时间戳、统计口径这些边界条件。2. 实验网络与抓包准备拓扑选择、双过滤器与校验和卸载2.1 最小复现拓扑真机直连、交换机与回环怎么选实验报告的第一步是描述环境很多报告的扣分点也在这里写了 IP 却没说掩码写了软件版本却没说网卡型号。常见做法是“真机优先、模拟器补充”——ARP、ICMP、TCP 握手这类链路层和传输层现象用真机抓包最可信RIP、OSPF 这类路由协议实验再回到 Packet Tracer 或 eNSP 做状态机验证。实验环境按下面的表选型每一行都对应一类不同的抓包观测量实验对象推荐环境抓包位置注意事项ARP / ICMP两台真机直连或同交换机其中一台网卡先清 ARP 缓存否则看不到请求帧TCP 三次握手本机回环或局域网服务loopback / 网卡回环没有以太网头TCP 字段仍然完整CRC / 校验和观察Linux 主机关闭校验和卸载接收网卡普通抓包拿不到 FCS 是正常现象RIP / OSPF模拟器模拟器自带抓包真机部署成本高适合先验证状态机真机实验的命令很简单关键是让抓包对象可预期。用sudo ip neigh flush all清空邻居表后第一次 ping 一定会带上 ARP 请求帧用ncnetcat在回环上建立连接就能在一个文件里同时握到 TCP 三次握手和挥手。# 清空本机ARP缓存确保下一次ping能看到完整的ARP请求-应答过程 sudo ip neigh flush all # 用回环地址建立TCP连接抓握手包 nc -v 127.0.0.1 8080ip neigh flush all清空邻居表删掉已知 ARP 条目nc是 netcat一个终端监听 8080 端口、另一个终端发起连接就能在 loopback 上抓到三次握手。环境部分到这里就齐了接下来要决定抓包时怎么筛数据。2.2 捕获过滤器与显示过滤器边界的差别影响报告写法抓包最先要分清两种过滤。Capture filter 在数据进入内存前就丢弃不匹配的包影响“能不能找到最初那几帧”Display filter 只隐藏不符条件的帧数据仍在文件里。写报告时说“本次实验只分析 80 端口流量”如果用了捕获过滤中间被丢弃的 SYN 重传就再也找不回来如果只有显示过滤任何时候都可以回头验证。这个差异直接决定报告里的统计是完整会话还是事后截取的一段。Wireshark 图形界面里捕获过滤器写在抓包入口显示过滤器写在工具栏。命令行用 tshark 更直观也更方便把过滤表达式写进报告附录# 捕获过滤开机只保留 80 端口 TCP 流量减少无关广播包 tshark -i eth0 -f tcp port 80 -w lab.pcapng # 显示过滤从已保存文件里取出第一条TCP流逐帧查看 tshark -r lab.pcapng -Y tcp.stream eq 0 \ -T fields -e frame.number -e frame.time_relative \ -e ip.src -e tcp.seq_raw -e tcp.ack_raw -e tcp.flags.str参数说明-i指定接口-f后跟捕获过滤器语法-r读文件-Y用显示过滤表达式-T fields把输出变成表格列-e依次指定要打印的字段tcp.seq_raw取的是原始绝对序号不是 Wireshark 默认的相对序号。把这条命令输出粘进报告本身就是一张可核验的握手数据表比截图省篇幅。2.3 校验和卸载与 FCS抓包里为什么看不见 CRC很多报告里写“CRC 校验通过”但说的其实是 IP/TCP 协议头里的校验和而不是数据链路层 FCS。以太网帧尾部有 4 字节 FCS由网卡硬件计算并校验正常情况下网卡在把帧交给驱动之前就把 FCS 剥离了所以 Wireshark 里看不到 CRC 是默认行为不是抓包失败。要在报文里观察 CRC需要关闭网卡的校验和卸载。Windows 上可以在网卡高级属性里关闭 “Receive/Transmit Checksum Offload”或用命令查看当前配置Get-NetAdapter -Name 以太网 | Get-NetAdapterAdvancedProperty | Where-Object {$_.DisplayName -match 校验和}Linux 上先用 ethtool 查看再关闭# 查看当前支持的卸载特性 ethtool -k eth0 | grep checksum # 关闭收发方向校验和卸载让网卡把原始帧和校验值交到Wireshark ethtool -K eth0 rx off tx offethtool -k查询-K修改rx off tx off同时关闭接收与发送的校验和卸载。关闭后如果链路仍有数据收发CPU 占用会升高这是正常代价实验做完建议恢复rx on tx on。报告里应当写明这两条命令否则校验和状态的观察结果不可复现。注意关闭校验和卸载会增加 CPU 占用实验完成后用ethtool -K eth0 rx on tx on恢复默认值Windows 同理把网卡高级属性改回启用。3. 从报文读协议ARP、ICMP、TCP 与 CRC 字段的实操观察3.1 ping 通一个邻居先看 ARP再看 ICMP简单 ping 的实验最容易写出没有信息量的报告。抓包前清空 ARP 缓存观察顺序一定是 ARP 请求、ARP 回应、ICMP Echo Request、ICMP Echo Reply。做 ARP/ICMP 实验时抓包顺序是从链路层往上读和自顶向下教材的讲解路径相反但同一份数据可以从两层核对报告里用这个顺序展示更接近真实事件流。sudo ip neigh flush all ping -c 3 192.168.1.1Wireshark 显示过滤写arp || icmp。各帧关键字段帧序协议关键字段特征1ARPopcode1, 目标 MACff:ff:ff:ff:ff:ff广播请求2ARPopcode2, 源/目标 MAC 对应单播回应3ICMPtype8, code0Echo Request4ICMPtype0, code0Echo Reply表格里最容易被忽略的是目标 MAC。ARP 请求的目标 MAC 是全 F而 ICMP 数据帧的目标 MAC 是网关或目标主机的真实地址。如果跨网段 ping先回答“ARP 请求是发给默认网关还是目标主机”再谈 ICMP 往返。这个分析顺序直接决定报告结论是否成立。3.2 TCP 三次握手序号、确认号与标志位怎么对照TCP 握手抓包比 ARP 容易漏帧常见干扰来自 TCP Fast Open——它允许在 SYN 里携带应用数据甚至跳过第三次握手。实验要在可控环境下先关闭# 关闭TCP Fast Open避免握手阶段出现额外行为 echo 0 | sudo tee /proc/sys/net/ipv4/tcp_fastopen # 终端1监听 nc -l 8080 # 终端2连接 nc -v 127.0.0.1 8080抓包过滤tcp.port8080。三次握手的关键字段对照方向Flagsseqack说明C → SSYNx0客户端初始序号S → CSYN, ACKyx1确认收到的序号 1C → SACKx1y1连接建立换成 tshark 生成这张表tshark -r lab.pcapng -Y tcp.port eq 8080 \ -T fields -e frame.number -e tcp.seq_raw \ -e tcp.ack_raw -e tcp.flags.strtcp.seq_raw与tcp.ack_raw打印原始序号配合tcp.flags.str显示标志位缩写。强调“原始”而不是界面上的相对序号因为相对序号从 0 开始无法直接验证“seq 与 ack 的换算关系”。报告里如果出现SYN, ACK的 ack 不是 x1说明中间有包被重传或丢包这是排查“连接建立慢”的最直接入口。3.3 通过报文观察 CRC看 IP/TCP 校验和状态到底是谁在验证回到 CRC 观察。严格说数据链路层的 CRC 无法在普通 Wireshark 文件里直接查看因为它位于 FCS 字段被网卡剥离但实验报告里仍然可以“通过报文观察”校验结果方法是看两层内容IP 头校验和与 TCP 校验和。Wireshark 在协议树里为每个校验过的协议显示[Checksum Status: valid/invalid/unverified]invalid 说明帧损坏或校验算法没对上unverified 通常意味着校验和卸载仍开启、网卡代为填写。批量核验整个文件里的 TCP 校验和状态tshark -r lab.pcapng -Y tcp \ -T fields -e frame.number -e tcp.checksum -e tcp.checksum.status输出示例1 0x6abc valid 2 0x74d1 valid 3 0x0000 unverifiedtcp.checksum是报文中携带的校验值tcp.checksum.status是 Wireshark 重新计算后给出的结论。第三帧0x0000出现在关闭校验和卸载前说明该帧的校验码由网卡在发送时填写Wireshark 拿不到可信结果。报告里写“CRC 校验通过”之前先确认你说的是以太网 FCS 还是 IP/TCP checksum再确认 status 不是 unverified这个习惯能少丢一半分。4. 从原始抓包到报告结论统计表、时间图与扣分点对照4.1 报告要放的三类数据包级、流级、性能级抓包文件是原始素材报告里的表格和图片才是分析结果。我一般把实验数据分成三级包级数据回答“发的是什么协议、包多大”流级数据回答“会话有几条、重传多少”性能级数据回答“往返时延多大、吞吐量多少”。只放 IO Graph 截图而不放统计表评审无法核验只放统计表而不放过滤表达式读者无法复现。4.2 tshark 生成协议分布与会话统计Wireshark 图形界面的 Statistics 菜单能看命令行更利于批量复制进报告# 协议分层统计展示各协议占比 tshark -r lab.pcapng -q -z io,phs # TCP会话统计包含每个会话的包数和字节数 tshark -r lab.pcapng -q -z conv,tcp # 每秒流量统计输出可用于画时序图 tshark -r lab.pcapng -q -z io,stat,1参数说明-q表示静默模式只输出统计不打印每帧内容-z引入统计模块io,phs是 Protocol Hierarchy Statisticsconv,tcp生成会话表io,stat,1按 1 秒间隔统计吞吐。图形界面对应的是 Statistics 菜单下的 IO Graph导出 PNG 前把 y 轴改成 Bits/s截图里才能直接读吞吐趋势。如果实验涉及大量重传第一眼应该看conv,tcp里的重传比例而不是只看平均包长。4.3 算 RTT 与吞吐量结论要说清口径报告里如果写“网络时延小”至少要给出样本个数和中位数。Wireshark 的 TCP 分析器会为每个 ACK 算出tcp.analysis.ack_rtt可以直接提取tshark -r lab.pcapng -Y tcp.analysis.ack_rtt \ -T fields -e frame.number -e tcp.analysis.ack_rtt \ | sort -k2 -n | head -20sort -k2 -n按第二列的 RTT 值排序取前 20 行看最小值与分布输出里如果有多个接近 0 的值说明本地回环实验的延迟极小要在报告里注明这是进程级延迟而非物理链路延迟。吞吐量计算要排除重传帧否则会把重传流量算成有效载荷tshark -r lab.pcapng -Y tcp.len gt 0 !tcp.analysis.retransmission \ -T fields -e frame.time_relative -e tcp.lentcp.len gt 0只保留带载荷的数据帧!tcp.analysis.retransmission排除重传帧得到的时间与长度两列可以交给脚本累加算出有效吞吐。报告里应写明这个口径因为它直接影响结论。4.4 报告常见扣分点对照扣分表现原因改进做法只有截图没有字段讲解把“看到”当分析逐帧列 seq/ack/opcode 并对照协议规范过滤表达式缺失统计不可复现每个表格或图下方给出对应-Y过滤CRC/校验和结论含糊混淆 FCS 与 checksum明确写出观察对象与状态值用相对序号讨论握手机制无法换算报告用seq_raw并说明数值的含义单位混用Mbps 与 MB/s 不分统一位/字节标注计算时长这个表可以作为报告自查清单。期末复习时把它当重点索引也比逐页背定义更接近出题方向——考试考的是你能否看出一个抓包里哪里可疑。5. 交付 PDF 前的进阶自查校验和核验与文档可复现5.1 能否用一条命令复现报告里的全部统计报告交出去之前试着把抓包文件路径换掉只保留过滤表达式和统计命令再跑一遍。如果能得到和报告一致的协议分布说明你的表述可复现如果结果不一致先查是不是过滤表达式里带了具体 IP 或端口把无关条件收窄。给一个轻量办法把统计结果做摘要指纹。tshark -r lab.pcapng -q -z io,phs | md5sum两次抓包如果协议分布相同指纹会一致不一致则说明实验环境有差异这个差异本身就是报告中值得写的一部分。前述流程走完后再用tcp.checksum.status全文件扫一遍确认“校验和卸载已关闭”这个条件在抓包里已经生效而不是只在命令行里关过又忘了截图记录。5.2 报告 PDF 的图表与字段规范导出 PDF 时实验截图要带时间列、源目 IP、Info 列并把字体调小到能在一页里看到完整五元组从大文件里导出特定分组时用File - Export Specified Packets避免把无关注册广播混进附录。PDF 生成后检查两点截图文字能否被选中复制、表格列宽是否被压缩。这两项做不到评审就没法从文档里直接核验字段值。5.3 最后的五个自查问题实验环境是否写了网卡型号、驱动版本、Wireshark 版本是否明确区分模拟器的帧和真实网卡的帧握手表的 seq/ack 用的是原始序号还是相对序号结论里的“校验通过”具体指 IP、TCP 还是 FCS他人按报告里的过滤表达式重放能否得到相同统计五个问题都答得上这份 PDF 就不只是一份交差文档而是一份可以拿去排查真实网络异常流量的协议分析笔记。本文还有配套的精品资源点击获取
返回列表