广工2015计算机网络实验报告:Wireshark抓包与Socket编程实操存档

发布时间:2026/9/29 16:30:14

广工2015计算机网络实验报告:Wireshark抓包与Socket编程实操存档 简介这份资源是广东工业大学2015年计算机网络课程的实验报告PDF面向计算机相关专业学生及网络初学者可用于参考实验流程、撰写课程报告或复习交换机与路由配置。报告围绕GNS3网络仿真平台展开涵盖拓扑搭建、设备基础操作、交换机配置、VLAN划分及VLAN间通信等核心实验内容并记录了同VLAN与跨VLAN连通性测试、Wireshark抓包分析Trunk标签等完整过程。资源包内仅含1个PDF文件大小约1.17MB篇幅紧凑便于直接查阅与打印。目前已有71人学习浏览说明其在校内实验场景中具有一定参考价值。读者可从中获取实验目的、操作步骤、测试截图与结果分析理解VLAN隔离与路由器转发机制并借鉴抓包数据解读方法适合作为网络实验预习、报告模板或排错思路的辅助材料。1. 广工2015年计算机网络实验报告一份能直接抄作业的硬核存档如果你正在上计算机网络这门课或者被 Wireshark 抓包、Socket 编程、路由配置这几座大山压得喘不过气那这份《广工2015年计算机网络实验报告》大概率能救你一命。它不是那种只有结论没有过程的 PPT 式文档而是一份完整记录了实验目的、拓扑搭建、命令输入、抓包截图和结果分析的实操存档。广工当年的实验体系偏向自顶向下从应用层一路干到链路层这份报告把每个实验的“输入”和“输出”都钉死了。适合谁适合需要快速对齐实验标准、想看看别人怎么处理“抓不到包”“连不上服务器”这类玄学问题的同学也适合想拿一份真实实验记录做参考的同行。下面我按“它到底记了什么 → 怎么照着复现 → 哪些地方容易翻车”的顺序把这份 PDF 拆开讲透。2. 实验报告里到底存了什么从应用层到链路层的完整证据链2.1 实验项目的分层覆盖与工具选型这份报告覆盖了计算机网络实验的经典五层结构但重点压在应用层和传输层。应用层涉及 HTTP、DNS、FTP 的报文抓取与分析传输层聚焦 TCP 三次握手、四次挥手以及滑动窗口的观察网络层有 IP 分片和 ICMP 重定向的验证链路层则用 Cisco Packet Tracer 做了 VLAN 划分和静态路由配置。工具选型上抓包统一用 Wireshark拓扑仿真用 Packet TracerSocket 编程用 Java 或 Python 实现简单的 C/S 通信。这种组合在 2015 年前后是广工的标准配置放到今天依然不过时因为协议本身没变变的只是工具版本。报告里每个实验都遵循“实验目的 → 实验环境 → 实验步骤 → 实验结果 → 结果分析”五段式。最值钱的部分是“实验结果”里的截图和“结果分析”里的文字。截图不是随便截的而是精确到某个过滤条件、某个报文序号、某个字段值。比如 HTTP 实验里它会让你过滤http.request.method GET然后展开 Hypertext Transfer Protocol 层看 Host、User-Agent、Cookie 这些字段。这种颗粒度意味着你照着做一定能抓到同样的包除非你的网络环境有代理或缓存干扰。2.2 关键实验的数据记录格式报告里对数据的记录方式很讲究不是简单贴一张图就完事。以 TCP 三次握手为例它要求你记录每次握手的 Seq 和 Ack 编号并画出时序图。下面这张表是我从报告里提炼出来的记录模板你可以直接套用报文序号源 IP:端口目的 IP:端口标志位SeqAck说明1192.168.1.100:5234193.184.216.34:80SYN00客户端发起连接293.184.216.34:80192.168.1.100:52341SYN, ACK01服务端同意连接3192.168.1.100:5234193.184.216.34:80ACK11客户端确认这种表格的好处是你填完一遍TCP 连接建立的过程就刻在脑子里了。报告里还特别标注了相对 Seq 和绝对 Seq 的区别Wireshark 默认显示相对值但分析时要用绝对值否则会把自己绕晕。这个细节很多网上的教程都不提但这份报告里用批注写清楚了。2.3 拓扑文件与配置命令的留存Packet Tracer 实验部分报告里没有直接附 .pkt 文件但把每台设备的配置命令完整贴出来了。比如 VLAN 划分实验它记录了交换机上vlan 10、vlan 20的创建以及interface fa0/1下switchport access vlan 10的绑定。路由配置则记录了ip route 0.0.0.0 0.0.0.0 192.168.1.1这样的默认路由写法。这些命令虽然基础但胜在完整你复制到自己的 Packet Tracer 里就能跑通。报告里还留了拓扑的截图标注了每台设备的接口编号和 IP 地址照着连线不会错。3. 照着复现的实操路径Wireshark 过滤、Socket 编译与拓扑搭建3.1 Wireshark 抓包与过滤器的精确写法复现的第一步是抓包。报告里强调了一个血泪经验抓包前先清空浏览器缓存或者用无痕模式否则你抓到的 HTTP 请求可能全是 304看不到完整的响应体。具体操作是打开 Wireshark选择正在使用的网卡然后在过滤器栏输入tcp port 80或http。但报告里更推荐用http.request.method GET这种显示过滤器因为它能直接定位到请求行。下面这段 bash 命令是我常用的辅助脚本用来在 Linux 下快速启动抓包并保存到文件方便后续用 tshark 分析# 抓取 80 端口的流量保存为 pcap 文件抓 100 个包后自动停止 sudo tshark -i eth0 -f tcp port 80 -c 100 -w http_capture.pcap # 用 tshark 读取 pcap 并只显示 HTTP 请求的 URL 和 Host tshark -r http_capture.pcap -Y http.request -T fields -e http.host -e http.request.uri逻辑说明-i eth0指定网卡-f是抓包过滤器BPF 语法-c 100表示抓满 100 个包就停-w写入文件。第二条命令用-Y做显示过滤-T fields输出指定字段。参数怎么改如果你要抓 HTTPS把端口换成 443但内容加密只能看 TLS 握手。报告里也提到了这点所以 HTTPS 实验只分析证书和握手过程不解析应用数据。3.2 Socket 编程实验的代码骨架与编译命令报告里的 Socket 实验要求实现一个简单的 TCP 回声服务器和客户端。服务端用 Java 写的核心是ServerSocket和Socket的 accept 循环。我把它转成 Python 版本更简洁也方便你直接跑# tcp_echo_server.py import socket HOST 127.0.0.1 # 监听本地回环地址 PORT 65432 # 端口号需大于 1024 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((HOST, PORT)) s.listen() print(f服务器启动监听 {HOST}:{PORT}) conn, addr s.accept() with conn: print(f连接来自 {addr}) while True: data conn.recv(1024) # 每次最多收 1024 字节 if not data: break conn.sendall(data) # 原样发回 print(f收到并回显: {data.decode()})逻辑说明socket.AF_INET表示 IPv4SOCK_STREAM表示 TCP。bind绑定地址和端口listen开始监听。accept阻塞等待客户端连接返回一个新的 conn 套接字和客户端地址。recv(1024)是缓冲区大小sendall确保数据全部发出。参数怎么改把 HOST 改成0.0.0.0可以让同一局域网的其他机器连接但要注意防火墙。报告里还提醒如果客户端用localhost连不上试试127.0.0.1因为有些系统把 localhost 解析成 IPv6 的::1而服务端只绑了 IPv4。客户端代码更简单# tcp_echo_client.py import socket HOST 127.0.0.1 PORT 65432 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((HOST, PORT)) s.sendall(bHello, Network Lab) data s.recv(1024) print(f收到回显: {data.decode()})先运行服务端再运行客户端你会在服务端看到连接日志客户端收到同样的字符串。报告里要求截图这两个终端窗口并标注出sendall和recv的对应关系。3.3 Packet Tracer 拓扑搭建的步骤与验证Packet Tracer 部分报告里的步骤是拖两台 2960 交换机、四台 PC按拓扑图连线。然后进入交换机 CLI创建 VLAN 10 和 20把端口划分进去。PC 的 IP 地址手动配置比如 PC0 配192.168.10.2/24PC1 配192.168.20.2/24。验证方法是同一 VLAN 内能 ping 通不同 VLAN 之间 ping 不通。报告里特别提到如果 ping 不通先检查show vlan brief看端口有没有划对再看 PC 的网关是否配了但没生效。配置命令如下# 在交换机上执行 enable configure terminal vlan 10 vlan 20 exit interface fa0/1 switchport mode access switchport access vlan 10 exit interface fa0/2 switchport mode access switchport access vlan 20 exit end show vlan brief逻辑说明switchport mode access把端口设为接入模式switchport access vlan 10把端口划入 VLAN 10。show vlan brief用来验证。参数怎么改如果你的交换机端口是 GigabitEthernet把fa0/1换成gi0/1。报告里还提醒Packet Tracer 的交换机默认所有端口都在 VLAN 1不划走的话VLAN 10 和 20 的流量会混在一起。4. 避坑与排查抓不到包、连不上服务、拓扑不通的常见原因4.1 现象Wireshark 抓不到 HTTP 请求只有 TCP 握手原因浏览器用了 HTTPS或者走了代理或者缓存命中导致没有发起新的 HTTP 请求。报告里还提到一种情况网卡选错了比如选了虚拟机的网卡而不是物理网卡。解决先确认地址栏是http://开头然后清缓存或用无痕模式。检查 Wireshark 的网卡列表看哪个网卡有流量波动。如果是代理关掉代理或换到直接连接。报告里建议用curl命令代替浏览器因为 curl 不会缓存也不会自动跳转 HTTPScurl -v http://example.com-v会打印详细的请求和响应头配合 Wireshark 抓包一定能看到 GET 请求。4.2 现象Socket 客户端报 ConnectionRefusedError原因服务端没启动或者端口被占用或者防火墙拦截。报告里还遇到一种情况服务端绑定了127.0.0.1但客户端用局域网 IP 连接自然连不上。解决先确认服务端已经运行并打印了监听日志。用netstat -an | grep 65432检查端口是否在 LISTEN 状态。如果端口被占用换一个端口。防火墙方面Linux 下用sudo ufw allow 65432放行Windows 下在防火墙高级设置里添加入站规则。报告里强调如果服务端绑的是127.0.0.1客户端也必须用127.0.0.1不能混用。4.3 现象Packet Tracer 里 PC 能 ping 通网关但 ping 不通外网原因路由没配或者 NAT 没做或者 PC 的网关地址写错了。报告里指出Packet Tracer 的 PC 默认没有网关需要手动在 Desktop - IP Configuration 里填写。解决在路由器上配置默认路由ip route 0.0.0.0 0.0.0.0 下一跳如果用的是家用路由器模拟还要检查 NAT 的 inside 和 outside 接口有没有配对。PC 的网关必须和路由器接口 IP 在同一网段。报告里给了一个排查顺序先ipconfig看 PC 的 IP 和网关再show ip route看路由器有没有路由最后ping网关和下一跳。4.4 现象VLAN 间 ping 不通但同 VLAN 内正常原因没有配置三层交换或单臂路由。VLAN 在二层是隔离的不同 VLAN 之间通信必须经过三层设备。报告里用的是路由器加子接口的方式。解决在路由器上创建子接口封装 dot1Q并配置 IP 作为对应 VLAN 的网关interface gi0/0.10 encapsulation dot1Q 10 ip address 192.168.10.1 255.255.255.0 exit interface gi0/0.20 encapsulation dot1Q 20 ip address 192.168.20.1 255.255.255.0 exit然后交换机和路由器之间的链路要配成 trunk。报告里提醒子接口的编号不一定要和 VLAN ID 一样但封装时的 VLAN ID 必须匹配。如果 ping 不通检查show ip interface brief看子接口是否 up。4.5 现象实验报告里的截图和你的不一样原因操作系统、Wireshark 版本、网卡驱动不同导致界面和字段位置有差异。报告里用的是 Windows 7 Wireshark 1.12现在你可能用 Windows 11 Wireshark 4.x。解决关注协议字段的值而不是界面布局。比如 TCP 三次握手的 Seq 和 Ack 逻辑不变只是 Wireshark 的显示列可能默认隐藏了。右键列头 - Column Preferences把 Seq 和 Ack 加进去。报告里的分析结论依然有效因为协议标准没变。5. 进阶用法把实验报告变成可复用的抓包分析模板这份报告最大的价值不是让你抄一遍而是让你建立一套自己的抓包分析流程。我后来把报告里的实验步骤提炼成一个检查清单每次遇到网络问题就按这个清单走一遍。比如排查一个网站打不开我会先ping看 ICMP 通不通再tracert看路径然后 Wireshark 抓包看 TCP 握手有没有完成最后看 HTTP 响应码。这套流程和报告里的实验顺序几乎一致只是从被动实验变成了主动排查。另一个进阶用法是把报告里的 Socket 代码改成多线程服务器支持多个客户端同时连接。报告里只做了单客户端但实际场景中并发是常态。下面是一个简单的多线程版本import socket import threading def handle_client(conn, addr): print(f新连接: {addr}) with conn: while True: data conn.recv(1024) if not data: break conn.sendall(data) print(f连接关闭: {addr}) HOST 0.0.0.0 PORT 65432 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((HOST, PORT)) s.listen() print(f多线程服务器启动监听 {PORT}) while True: conn, addr s.accept() t threading.Thread(targethandle_client, args(conn, addr)) t.start()逻辑说明主线程只负责 accept每来一个客户端就开一个线程处理。handle_client函数里做回声逻辑。参数怎么改HOST改成0.0.0.0允许外部连接PORT按需调整。注意线程多了会消耗资源生产环境要用线程池或异步 IO。报告里没提这些但作为进阶你可以顺着这个方向把实验报告里的代码改造成能用的工具。验证方法开三个终端一个跑服务器两个跑客户端同时发消息看服务器是否都能回显。如果某个客户端卡住检查是不是recv阻塞了或者客户端发完没等回显就关闭了套接字。报告里有一处批注写着“客户端发送后要 sleep 一下再 recv”虽然不优雅但能避免时序问题。从那以后我每次做网络实验都强制自己先画时序图再动手抓包时先清缓存配路由时先看接口状态。这份 2015 年的报告虽然老但协议没变工具没变坑也没变。希望帮到你。本文还有配套的精品资源点击获取
延伸阅读

更多相关文章

2026/9/29 16:30:14

TensorFlow.js 浏览器端深度学习:架构内幕与算力调度实战

1. 浏览器端深度学习的真实战场:为什么要在浏览器里跑模型把深度学习模型塞进浏览器,这件事在五年前听起来还像是极客的玩具,但今天它已经成了很多产品绕不开的工程选择。TensorFlow.js 就是这条路上最成熟的一条通道。它让你用 JavaScript 直…

2026/9/29 16:25:14

starnet 深度拆解:local-first + MCP 的本地 AI agent 调度框架

1. 从“starnet”这个名字说起:它到底想解决什么问题第一次看到“starnet”这个项目名,我下意识以为又是一个网络监控或者分布式组网的工具。直到把它的关键词摊开——AI agents、desktop harness、local-first、MCP——才反应过来,这其实是一…

2026/9/29 16:25:14

tick-stock-panel:轻量级实时股票行情监控面板实战

1. 项目缘起与整体设计思路1.1 这个面板到底解决什么问题做量化交易或者股票行情监控的朋友,大概率都遇到过这样的场景:开盘期间需要同时盯十几只甚至几十只标的的实时价格跳动,券商软件自带的行情列表要么刷新频率不够,要么字段固…

2026/9/29 18:50:56

从零构建AI工程:文本分类模型训练到推理部署全复盘

元旦假期没闲着,把手头上一个叫 ai-engineering-from-scratch 的项目完整跑通了一遍,正好借这个机会把整个过程中的思路、踩坑和关键细节全部沉淀下来。这个标题直译过来是"从零开始做AI工程",但真正落地的内容比这四个词要厚重得…

2026/9/29 18:50:56

RAG不是插件,是AI Agent的感知层:中文场景四重门实战指南

1. 这不是“加个知识库”那么简单:RAG 在 AI Agent 架构里到底承担什么角色?你翻过十几篇讲 RAG 的文章,可能看到的都是“用 LangChain 加个向量数据库,再接个 LLM,知识问答就跑起来了”。但如果你真在做一个能落地的 …

2026/9/29 18:50:56

AI日报深度拆解:多Agent协作、本地部署与AI内容创作实战

1. 今天的AI日报,我挑了几个最值得展开的话题做AI日报做到今天,我越来越有一种感觉:真正值得看的不是又发布了哪个新模型、跑分又涨了几个点,而是这些新闻背后指向的一个共同问题——AI已经过了“能不能用”的阶段,现在…

2026/9/29 18:50:56

Manus 与通用智能体崛起:从 GAIA 评测到 AI Agent 落地实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/29 18:45:54

VM虚拟机欧姆龙PLC通讯实战:桥接模式与FINS协议配置指南

1. 为什么要在VM虚拟机上做欧姆龙PLC通讯1.1 搞清VM在通讯中的真实角色先说个我经常遇到的场景:现场用了博途或者CX-Programmer这些老牌PLC软件,但电脑系统太新,软件装不上;或者公司信息安全规定必须用虚拟机隔离环境;…

2026/9/29 11:07:23

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/28 6:05:15

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/29 7:00:49

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/29 0:04:04

AI Evals实战指南:从零搭建LLM应用评估体系与CI/CD集成

1. 为什么AI Evals值得你花时间搞明白做LLM应用的人,迟早会撞上同一堵墙:模型输出飘忽不定,今天答得好好的,明天换个问法就胡说八道。你改了一版提示词,感觉好像好了点,但到底好了多少?说不清。…

2026/9/29 0:04:04

Java采购管理系统实战:从数据库设计到事务一致性

简介:这是一套面向Java Web初学者与课程设计者的采购管理系统完整源码,采用JSP技术搭建,配合MySQL数据库,用于解决企业采购信息的管理问题,适合作为毕业设计、课程大作业或进销存类项目的参考模板。系统实现了用户登录…

2026/9/29 3:53:39

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/29 9:46:12

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/29 6:36:14

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑