☰
计算机网络期末题实战指南:从子网划分到TCP抓包排障
2026/10/6 6:48:29 网站建设 项目流程

简介:这份《计算机网络基础期末考试题》PDF面向高校计算机及相关专业学生,用于期末复习与自测,覆盖网络基本概念、协议、设备、拓扑结构、传输方式与通信质量等核心考点。资源包共1个PDF文件,大小约14KB,内容为完整试卷,包含填空题、选择题与多项选择题三大题型,可直接打印练习或对照复习。题目涉及资源共享与信息交换、资源子网与通信子网、TCP/IP传输层UDP、网络操作系统、CSMA/CD、ARP地址解析、路由器功能、网关互联、基带传输、单工/半双工/全双工通信、10BASE-T与10BASE-5规范、协议三要素及星型、总线型、环型拓扑等知识点,并配有标准题干与选项。已有73人学习,适合需要系统梳理网络基础、查漏补缺或考前模拟的读者使用。

1. 一份期末题 PDF 为什么值得当成网络排障手册来读

很多人拿到「计算机网络基础期末考试题.pdf」的第一反应是刷题背答案,但我在带新人的时候发现,真正把这套题吃透的人,排障速度比只背协议栈的人快一倍。原因很简单:期末题的出题逻辑,本质上就是把真实网络里最容易翻车的地方抽出来考你——子网划分算错、TCP 三次握手状态对不上、ARP 请求跨不了网段、以太网帧在交换机里泛洪。这些不是考试专属,是你每天在工位上都会撞见的东西。

这份材料适合两类人:一是正在准备计算机网络期末复习的学生,想从「背了忘、忘了背」变成「理解了就忘不掉」;二是刚入行的运维或后端,TCP/IP 协议栈的知识是散的,想找一个结构化的东西把碎片串起来。下面我不按题号讲,而是按「一个数据包从你的机器出去到回来」这条线,把期末题里反复出现的考点还原成能动手验证的实验。每个实验你都能在自己电脑上跑,不需要额外买设备。

2. 从期末题里的子网划分题反推 IP 规划能力

2.1 为什么子网划分永远是第一道大题

翻任何一份计算机网络期末卷子,子网划分几乎必考,而且分值不低。出题人不是故意为难你,是因为这个知识点同时踩中了三个能力:二进制运算、地址规划、广播域理解。你在工位上拿到一个 192.168.1.0/24 的网段,要切成六个部门各用一段,还得留出网关地址和未来扩展空间,这跟卷子上给你一个 /24 让你划 /26 是一模一样的操作。

期末题里常见的问法是:给一个 IP 和掩码,求网络地址、广播地址、可用主机数。很多人靠背公式过关,但一到实际配路由器就懵。我一般会让人先用纸笔算三遍,再用命令验证,让手和眼睛同时记住。

2.2 用 ipcalc 和 python 验证你手算的结果

Linux 上有个工具叫ipcalc,一条命令就能把你手算的网络地址、广播地址、可用范围全部列出来。Windows 上没有预装,可以用 WSL 或者直接写 python。

# 安装 ipcalc(Debian/Ubuntu) sudo apt install ipcalc # 计算 192.168.1.100/26 的网络信息 ipcalc 192.168.1.100/26

输出里你会看到 Network、Broadcast、HostMin、HostMax 四个关键字段。手算的时候你容易在「网络地址要不要加一」这种地方翻车,ipcalc 直接给你标准答案。

如果你不想装工具,python 的ipaddress模块是标准库,任何环境都能跑:

import ipaddress # 定义一个接口地址和掩码长度 interface = ipaddress.ip_interface('192.168.1.100/26') network = interface.network print(f"网络地址: {network.network_address}") print(f"广播地址: {network.broadcast_address}") print(f"可用主机数: {network.num_addresses - 2}") print(f"可用范围: {list(network.hosts())[0]} ~ {list(network.hosts())[-1]}")

这段代码的逻辑很直白:ip_interface把「地址+掩码」当成一个整体,.network属性自动算出所属子网。num_addresses - 2是因为网络地址和广播地址不能分配给主机。参数上你只需要改192.168.1.100/26这一行,换成期末题里给的任何地址都能验证。

提示:期末题里如果出现「全 0 子网」和「全 1 子网」能不能用的问题,现代设备默认都支持,但老教材可能说不行。答题时看题目语境,实际配设备时不用纠结。

2.3 把划分结果落到实际配置里

算出子网之后,期末题通常还会问你「路由器接口怎么配」。这一步在 Packet Tracer 或者真实设备上就是几条命令的事:

# Cisco 风格配置示例 interface GigabitEthernet0/0 ip address 192.168.1.1 255.255.255.192 no shutdown

掩码255.255.255.192就是 /26。配完之后用show ip interface brief确认接口状态是 up。如果你在虚拟机里做实验,注意虚拟网卡的网络模式要选对——NAT 模式下虚拟机和宿主机不在同一个二层网络,ARP 请求出不去,这是很多人做实验时「ping 不通」的第一大原因。

3. TCP 三次握手在期末题里怎么考,在工位上怎么用

3.1 期末题最爱考的握手状态迁移

TCP 三次握手是计算机网络期末的必考题,没有之一。常见问法包括:画出握手过程、写出每个阶段客户端和服务器的状态、解释为什么是三次而不是两次。前两个是记忆题,第三个才是真正拉开差距的地方。

为什么不是两次?因为两次握手无法确认客户端的接收能力。客户端发 SYN,服务器回 SYN-ACK,如果此时服务器就认为连接建立,但客户端可能根本没收到 SYN-ACK。三次握手的第三次 ACK 让服务器确认「客户端能收也能发」,同时让客户端确认「服务器能收也能发」。这个逻辑在期末题里用文字答就行,但在工位上你要能看懂netstat和ss的输出。

3.2 用 tcpdump 抓一次真实握手

光背状态机没用,抓一次包你就全记住了。在 Linux 上开两个终端,一个跑 tcpdump,一个用 curl 访问一个 HTTP 地址。

# 终端 1:抓取 80 端口的 TCP 包,-S 显示绝对序列号,-n 不解析域名 sudo tcpdump -i any -S -n 'tcp port 80 and tcp[tcpflags] & (tcp-syn|tcp-ack) != 0' # 终端 2:发起一个 HTTP 请求 curl -I http://example.com

你会看到三行关键输出:第一行 Flags [S] 是客户端发 SYN,第二行 Flags [S.] 是服务器回 SYN-ACK,第三行 Flags [.] 是客户端回 ACK。方括号里的 S 代表 SYN,点代表 ACK。序列号的变化规律是:客户端初始序列号 seq=1000(假设),服务器回 ack=1001,同时带自己的 seq=2000,客户端再回 ack=2001。

参数说明:-i any表示监听所有网卡,-S让你看到绝对序列号而不是相对值,-n禁止 DNS 反查加快输出。过滤表达式tcp[tcpflags] & (tcp-syn|tcp-ack) != 0的意思是「只抓带有 SYN 或 ACK 标志的包」,这样你不会被数据包淹没。

3.3 握手失败的三种典型现象和排查顺序

期末题不会告诉你握手会失败,但工位上天天见。第一种现象是curl卡住然后超时,tcpdump 只看到 SYN 没有 SYN-ACK。原因通常是防火墙 drop 了入站 SYN,或者目标端口没监听。解决方法是先在目标机器上ss -tlnp | grep 端口确认服务在听,再检查中间有没有安全组或 iptables 规则。

第二种现象是收到 RST 而不是 SYN-ACK。RST 表示目标端口没有进程监听,内核直接拒绝。这时候你要看服务是不是挂了,或者监听地址是不是只绑了 127.0.0.1。

第三种现象是 SYN-ACK 发出去了但客户端没收到,表现为服务器端netstat看到 SYN_RECV 状态堆积。这通常是网络路径问题或者客户端侧防火墙拦截。排查顺序是:先确认服务端监听正常,再确认服务端防火墙放行,最后查客户端到服务端的路由。

注意:期末题里问「SYN 洪水攻击」的原理,答案就是攻击者伪造大量源 IP 发 SYN,服务器回 SYN-ACK 后等不到 ACK,半连接队列被占满。实际防护手段是开启 syncookies,Linux 上net.ipv4.tcp_syncookies=1是默认值。

4. 以太网帧和 ARP:期末卷子上的送分题,实际排障的送命题

4.1 以太网帧格式在期末题里的考法

以太网帧是计算机网络基础期末的另一个高频考点。常见题型是给你一个十六进制串,让你指出目的 MAC、源 MAC、类型字段和载荷。比如ff ff ff ff ff ff 00 1a 2b 3c 4d 5e 08 00 45 00 ...,前六个字节是目的 MAC(全 F 表示广播),接着六个是源 MAC,08 00是类型字段表示上层是 IPv4。

这个知识点在实际排障里的价值在于:当你在交换机上抓包看到大量广播帧,你就知道有人在发 ARP 请求或者 DHCP 发现报文。如果广播域太大,这些广播会消耗带宽和 CPU。期末题不会考你「广播域多大算大」,但工位上超过 200 台主机一个二层网络就该考虑划 VLAN 了。

4.2 用 arp 命令看懂跨网段通信的边界

ARP 是期末题里「送分」但实际最容易翻车的点。题目通常问:主机 A ping 主机 B,如果不在同一网段,ARP 请求的目的地址是什么?答案是网关的 IP 对应的 MAC,不是主机 B 的 MAC。这个逻辑很多人背下来了,但配网络的时候还是搞错。

在 Linux 上验证很简单:

# 查看当前 ARP 缓存 ip neigh show # 清空 ARP 缓存(需要 root) sudo ip neigh flush all # ping 同一网段的地址,观察 ARP 缓存变化 ping -c 1 192.168.1.1 ip neigh show # ping 不同网段的地址,观察 ARP 缓存里出现的是网关 MAC ping -c 1 8.8.8.8 ip neigh show

第一次 ping 同网段地址后,ARP 缓存里会出现 192.168.1.1 对应的 MAC。ping 外网地址后,缓存里出现的是默认网关的 IP 和 MAC,而不是 8.8.8.8 的 MAC——因为 8.8.8.8 根本不在本地二层网络里,ARP 请求到不了它。

参数说明:ip neigh show列出邻居表,flush all清空所有条目。如果你在虚拟机里做这个实验,确保虚拟网卡是桥接模式,NAT 模式下你看到的网关 MAC 是虚拟化软件虚拟出来的,和物理网络行为有差异。

4.3 免费 ARP 和 ARP 欺骗在期末题里的影子

期末题偶尔会考「免费 ARP」的概念:主机主动发送 ARP 请求查询自己的 IP,用来检测地址冲突或者通知交换机更新 MAC 地址表。实际场景里,虚拟机迁移或者网卡更换后,免费 ARP 能让交换机快速更新转发表,避免流量黑洞。

ARP 欺骗的原理在期末题里通常作为「ARP 协议缺陷」出现:攻击者发送伪造的 ARP 响应,把网关 IP 映射到自己的 MAC,导致受害者流量经过攻击者。实际防护手段是在交换机上开启 DAI(动态 ARP 检测),但家用网络一般没有这个功能。如果你在宿舍或者小办公室遇到「网络时通时断」,先查 ARP 表里网关的 MAC 有没有变化,这是最快的判断方法。

5. 期末复习和实际排障都会踩的五个坑

5.1 坑一:子网划分时把网络地址和广播地址分配给主机

现象:配完 IP 后 ping 网关不通,或者同网段其他机器 ping 不通这台机器。原因:把 192.168.1.0 或 192.168.1.63 这种地址配到了网卡上。解决:用 ipcalc 或 python 确认可用范围,网络地址和广播地址永远不能配给主机。期末题里如果让你分配地址,这两个也要排除。

5.2 坑二:TCP 抓包时只抓了一个方向

现象:tcpdump 只看到 SYN 看不到 SYN-ACK,以为服务器没回。原因:抓包命令绑定了错误的网卡,或者过滤条件只匹配了源端口。解决:用-i any监听所有网卡,过滤条件写成tcp port 80而不是tcp src port 80。如果还是只有单向包,检查是不是在虚拟机里抓的,虚拟交换机会不会镜像流量。

5.3 坑三:ARP 缓存没清就换网卡做实验

现象:换了网卡或者改了 IP 之后,ping 网关时通时断。原因:ARP 缓存里还留着旧的 MAC 地址映射。解决:sudo ip neigh flush all清空缓存,或者等缓存老化(Linux 默认 30 秒到几分钟不等)。期末题不会考缓存老化时间,但实际排障时这是「玄学问题」的常见来源。

5.4 坑四:把三次握手和四次挥手的状态搞混

现象:期末题里问「客户端收到 SYN-ACK 后进入什么状态」,答成 ESTABLISHED。原因:没分清握手和挥手的状态迁移。解决:握手阶段客户端收到 SYN-ACK 后发 ACK,然后进入 ESTABLISHED;挥手阶段主动关闭方发 FIN 后进入 FIN_WAIT_1,收到 ACK 后进入 FIN_WAIT_2。画一遍状态迁移图比背十遍文字有用。

5.5 坑五:以太网帧类型字段和 LLC 帧搞混

现象:期末题里给一个帧让你判断上层协议,看到 08 00 说是 ARP。原因:08 00 是 IPv4,08 06 才是 ARP。解决:记住常见类型字段——0800 IPv4、0806 ARP、86DD IPv6、8100 VLAN 标签。实际抓包时 Wireshark 会自动解析,但期末题只给你十六进制,记不住就丢分。

6. 把期末题变成长期记忆:一个我用了五年的复习习惯

期末复习最大的问题是「考完就忘」,因为你是为了考试在背,不是为了解决问题在记。我自己的做法是:每做一道期末题,就把它还原成一个可以在自己电脑上跑的实验。子网划分题用 ipcalc 验证,TCP 握手题用 tcpdump 抓包,ARP 题用 ip neigh 观察缓存变化。这样你记住的不是答案,是操作和现象之间的因果关系。

具体操作上,我建议你建一个 Markdown 文件,左边贴题目,右边贴命令和输出。比如:

期末题考点验证命令观察到的现象
子网划分ipcalc 192.168.1.100/26网络地址 192.168.1.64,广播 192.168.1.127
TCP 握手tcpdump -i any -S -n 'tcp port 80'三行包,Flags 依次是 S、S.、.
ARP 跨网段ip neigh show缓存里出现网关 MAC,不是目标 IP 的 MAC

这个表格你填一遍,比刷十套卷子管用。因为填表的过程强迫你动手,动手就会遇到「命令报错」「输出和预期不一样」的情况,这些意外才是真正让你记住的东西。

还有一个技巧:期末题里经常出现「计算题」和「画图题」,你可以在纸上画完之后,用 Wireshark 的 IO Graph 功能把真实流量画出来对比。比如 TCP 吞吐量随时间的变化,Wireshark 能直接生成折线图,你对照期末题里「拥塞窗口变化」的图,会发现真实网络里的锯齿比教材上的更不规则。这种「教材 vs 现实」的差异感,是长期记忆的锚点。

最后说一个我自己的习惯:每次配完网络或者抓完包,我会把关键命令和输出截图存到一个按日期命名的文件夹里。期末复习的时候翻这些截图,比翻笔记快得多。工作以后遇到类似问题,搜一下文件夹名就能找到当时的排查过程。这个习惯我坚持了五年,硬盘里存了几百张截图,但真正回看的次数不多——因为存的时候已经记住了。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询