ARTICLE DETAIL

资讯详情

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

计算机网络期末题实战指南:从子网划分到TCP抓包排障

计算机网络期末题实战指南:从子网划分到TCP抓包排障 简介这份《计算机网络基础期末考试题》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。# 安装 ipcalcDebian/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。序列号的变化规律是客户端初始序列号 seq1000假设服务器回 ack1001同时带自己的 seq2000客户端再回 ack2001。参数说明-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半连接队列被占满。实际防护手段是开启 syncookiesLinux 上net.ipv4.tcp_syncookies1是默认值。4. 以太网帧和 ARP期末卷子上的送分题实际排障的送命题4.1 以太网帧格式在期末题里的考法以太网帧是计算机网络基础期末的另一个高频考点。常见题型是给你一个十六进制串让你指出目的 MAC、源 MAC、类型字段和载荷。比如ff ff ff ff ff ff 00 1a 2b 3c 4d 5e 08 00 45 00 ...前六个字节是目的 MAC全 F 表示广播接着六个是源 MAC08 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 是 IPv408 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.127TCP 握手tcpdump -i any -S -n tcp port 80三行包Flags 依次是 S、S.、.ARP 跨网段ip neigh show缓存里出现网关 MAC不是目标 IP 的 MAC这个表格你填一遍比刷十套卷子管用。因为填表的过程强迫你动手动手就会遇到「命令报错」「输出和预期不一样」的情况这些意外才是真正让你记住的东西。还有一个技巧期末题里经常出现「计算题」和「画图题」你可以在纸上画完之后用 Wireshark 的 IO Graph 功能把真实流量画出来对比。比如 TCP 吞吐量随时间的变化Wireshark 能直接生成折线图你对照期末题里「拥塞窗口变化」的图会发现真实网络里的锯齿比教材上的更不规则。这种「教材 vs 现实」的差异感是长期记忆的锚点。最后说一个我自己的习惯每次配完网络或者抓完包我会把关键命令和输出截图存到一个按日期命名的文件夹里。期末复习的时候翻这些截图比翻笔记快得多。工作以后遇到类似问题搜一下文件夹名就能找到当时的排查过程。这个习惯我坚持了五年硬盘里存了几百张截图但真正回看的次数不多——因为存的时候已经记住了。希望帮到你。本文还有配套的精品资源点击获取
返回列表