【八个月网安课程】第一周·周五:Wireshark 抓包实操——HTTP、DNS 过滤与三次握手分析
今天聚焦 Wireshark 抓包实操将本周所学的网络分层、TCP 握手、HTTP 协议全部串联到真实数据包分析中。今天内容以动手为主务必全程跟着操作。第一周·周五Wireshark 抓包实操——HTTP、DNS 过滤与三次握手分析 今日学习目标达成效果能独立启动 Wireshark并选择合适的网卡进行抓包知道何时使用混杂模式能熟练使用显示过滤器精准提取 HTTP、DNS、TCP 三次握手包掌握至少 5 个核心过滤语法能从数据包中还原一次完整的 HTTP 请求与响应识别请求方法、状态码、Cookie、Set-Cookie 等头部字段能过滤并分析一次完整的 TCP 三次握手准确找到 SYN、SYNACK、ACK 三个包并解释每个包的 Flags 和序列号变化能用 Wireshark 解析一次 DNS 查询过程找到查询域名、响应 IP、服务器地址能综合运用过滤语法将本周网络基础、HTTP 协议、TCP 知识点全部验证一遍彻底打通理论与实操。 一、Wireshark 基础与使用原则Wireshark 是一个开源的网络协议分析器它能够捕获流经选定网卡的原始数据帧并按协议栈逐层解析让你看到网络的“真实呼吸”。1. 安装与启动Windows/Mac从官网 https://www.wireshark.org 下载安装安装时务必勾选安装 WinPcap/NpcapWindows或相应抓包驱动。Linux可通过包管理器安装如sudo apt install wireshark注意权限配置通常需要将用户加入 wireshark 组或使用 sudo。2. 选择正确的网卡打开 Wireshark主界面会列出所有网络接口。你需要选择当前正在上网的网卡有线网卡通常标识为Ethernet或eth0无线网卡通常为Wi-Fi或WLAN如果抓本机访问本机的服务如 localhost需选择Loopback接口Windows 上可能需要安装 Npcap 的 loopback 支持。建议为避免大量干扰包请关闭不必要的下载、视频、即时通讯软件仅保留一个干净的浏览器用于测试。3. 混杂模式默认情况下Wireshark 会开启混杂模式使网卡接收线路上所有数据帧不仅是发给本机的。在共享式网络如古老的集线器环境中可抓取他人通信但在交换式网络现代交换机中通常只能看到广播包和发往本机的包。初学者无需纠结保持默认即可。 二、核心过滤语法今日必须掌握Wireshark 有捕获过滤器抓包前限定抓取内容减少资源占用和显示过滤器抓取后从已捕获包中筛选显示今天主要练习显示过滤器因为更灵活直观。以下为今天必会的过滤语法过滤器示例作用说明http显示所有 HTTP 协议包请求和响应dns显示所有 DNS 协议包tcp.port 80显示源或目的端口为 80 的 TCP 包HTTP 默认端口tcp.port 443显示 HTTPS 流量加密无法看到明文内容ip.addr 192.168.1.1显示与指定 IP 通信的所有包http.request.method GET仅显示 HTTP GET 请求包http.response.code 200仅显示 HTTP 200 响应包tcp.flags.syn 1 and tcp.flags.ack 0精确过滤出三次握手中的第一个 SYN 包tcp.flags.syn 1 and tcp.flags.ack 1过滤出 SYNACK 包第二次握手tcp.flags 0x010仅 ACK 包用于观察第三次握手及后续确认dns.qry.name contains example过滤 DNS 查询中域名包含 “example” 的请求!arp and !mdns and !ssdp排除常见干扰广播包使界面更清爽过滤技巧输入过滤器时输入框背景为绿色则表示语法正确红色为错误。可组合多个条件使用and/or/!。右键某个感兴趣的包 → “作为过滤器应用” → “选中” 或 “未选中”可快速生成过滤器。 三、动手实践一抓取并分析一次完整的 HTTP 请求目标使用 Wireshark 捕获访问一个 HTTP 网站非 HTTPS的完整交互找到请求和响应包并解读报文内容。操作步骤打开 Wireshark双击正在上网的网卡开始捕获。打开浏览器在地址栏输入一个HTTP 网站例如http://httpforever.com或http://testphp.vulnweb.com确保是 http 而不是 https。回车加载页面。页面完全显示后回到 Wireshark点击工具栏红色停止按钮。在过滤器输入框输入http按回车。此时包列表会只显示 HTTP 协议包。你将看到类似GET / HTTP/1.1的请求包以及带有200 OK的响应包。如果没有尝试再刷新一次页面或检查是否误用了 HTTPS。分析请求包点击任意 HTTP GET 请求包在Packet Details面板展开Hypertext Transfer Protocol你会看到请求方法GET请求 URI/或具体路径请求版本HTTP/1.1请求头部Host、User-Agent、Accept等周三学过的内容直接对应注意如果有 Cookie会显示在Cookie行。分析响应包点击对应的 HTTP 响应包查看响应版本和状态码HTTP/1.1 200 OK或其他状态码响应头部Server、Content-Type、Set-Cookie如果有响应体如果响应是 HTMLLine-based text data字段下会展示 HTML 源代码。安全发现你可以直接在包中看到完整的请求头和响应头如果是 HTTP表单提交的用户名密码也会明文出现在请求体中今天可尝试一个简单的搜索表单 GET 提交看 URL 参数。Set-Cookie如果没有HttpOnly或Secure标志说明存在潜在的安全风险这正是周四知识的应用。 四、动手实践二分析 TCP 三次握手目标从刚才抓取的 HTTP 流量中找出支撑该 HTTP 连接的那一次 TCP 三次握手并验证周二学到的序列号和标志位变化。操作步骤在上一步http过滤结果中找到任意一个 HTTP 请求包。右键该包 → “追踪流” → “TCP 流”你会看到整个 TCP 连接的全过程数据包括握手、HTTP 请求响应、挥手的部分。关闭流窗口。清除 Wireshark 过滤器输入tcp.stream eq XX 为刚才追踪流时显示的流编号这样会只显示该 TCP 流的所有包包括握手。现在你会看到这个连接从建立到断开的所有包。寻找最开始三个包通常按 Time 排序的前三个它们就是三次握手第一个包客户端 → 服务器Flags 中SYN置 1ACK为 0。Seq0Wireshark 默认相对序号真实序号看原始值第二个包服务器 → 客户端Flags 为SYNACKSeq0Ack1确认了客户端的序号1第三个包客户端 → 服务器Flags 为ACKSeq1Ack1确认服务器的序号1点击每个包在 Packet Details 中分别展开Transmission Control Protocol部分查看Flags确认 SYN 位和 ACK 位是否与理论一致。Sequence Number和Acknowledgment Number观察变化。注意 Wireshark 默认启用相对序号Relative Sequence Numbers便于阅读。若要查看绝对初始序列号可右键序号 → 取消协议首选项 → 关闭相对序号。尝试单独过滤三次握手包用tcp.flags.syn1 and tcp.flags.ack0过滤所有 SYN 包第一次握手用tcp.flags.syn1 and tcp.flags.ack1过滤 SYNACK第二次然后用流跟踪观察第三次 ACK。思考为什么抓到的三次握手包的目标端口是 80与我们访问的 HTTP 服务有什么关系 五、动手实践三抓取 DNS 查询过程目标观察浏览器请求一个域名时底层如何通过 DNS 查询到 IP 地址以及 DNS 基于 UDP或 TCP的细节。操作步骤清除之前显示的过滤器或新建捕获。开始新一次捕获。在终端执行nslookup example.comWindows或dig example.comLinux/Mac或者在浏览器中访问一个从未访问过的域名强制触发 DNS 查询。停止捕获在 Wireshark 过滤器输入dns回车。你会看到 DNS 查询包和响应包查询包Standard query 0x... A example.com通常是 UDP 协议端口 53。响应包Standard query response 0x... A example.com A 93.184.216.34展开 DNS 部分查看Queries内的查询名称和类型A 记录代表 IPv4在响应包的Answers内可看到返回的 IP 地址。注意观察传输层协议绝大多数 DNS 查询使用 UDP你可以在 Packet Details 的User Datagram Protocol部分确认。如果响应包很大可能会使用 TCP但目前少见。过滤小技巧使用dns.qry.name contains example可直接定位到特定域名的查询包。 六、综合实验搭建本地 HTTP 服务并用 Wireshark 抓包验证所有知识点为了深刻理解强烈建议今晚自己用 Python 搭建一个临时 HTTP 服务然后用 Wireshark 抓本机访问的全过程。步骤启动 Python HTTP 服务打开终端在一个空目录下运行python3-mhttp.server8080它会在本机 8080 端口提供一个静态文件服务器。选择网卡在 Wireshark 中选择Loopback接口名称可能是lo或Npcap Loopback Adapter开始捕获。浏览器访问打开浏览器访问http://127.0.0.1:8080。分析捕获停止捕获用过滤器tcp.port 8080查看与本机 8080 端口的交互。你会看到完整的 TCP 三次握手源和目标都是 127.0.0.1、HTTP 请求GET / HTTP/1.1、HTTP 响应200 OK服务器会返回目录列表以及四次挥手。验证 HTTP 头部在请求中找到Host: 127.0.0.1:8080证明 Host 头的作用。查看响应头Python 服务会设置Server: SimpleHTTP/0.6 Python/...这就是信息泄漏的例子。今日必须提交的结果截图 1Wireshark 过滤显示一次 HTTP 200 响应包且可见响应状态行和关键头部。截图 2过滤出一个 TCP 流的完整三次握手包并在图中标注 SYN、SYNACK、ACK。截图 3一个 DNS 查询和响应的对应包能看到域名和返回的 IP。 七、课后测试题与解析测试题 1如何在 Wireshark 中快速过滤出所有由本机发起的 TCP SYN 包不包含 SYNACK写出准确的显示过滤器表达式。参考答案tcp.flags.syn 1 and tcp.flags.ack 0如果要限定本机 IP可加上ip.src 你的IP如ip.src 192.168.1.10 and tcp.flags.syn 1 and tcp.flags.ack 0。测试题 2你用 Wireshark 过滤出http看到一个请求行是GET /search?qsecurity HTTP/1.1服务器返回了HTTP/1.1 302 Found且带有Location: /login。请解释这个交互的含义并从安全角度指出可能的问题。参考答案含义客户端尝试访问/search页面并传递参数qsecurity。服务器返回 302 临时重定向要求客户端跳转到/login很可能因为用户未登录系统强制跳转到登录页。安全角度如果/search页面包含敏感功能302 重定向可能在一定程度上保护了资源但需要确保/search在未授权时本身不返回数据否则可通过拦截 302 包看到响应体如果服务器在返回重定向前已输出内容。参数qsecurity明文出现在 URL 中如果是搜索内容并无大碍但如果是密码等敏感信息就有泄露风险。如果跳转的目标 URL 是外域且由参数指定可能存在开放重定向漏洞Open Redirect可被用于钓鱼。测试题 3在 Wireshark 中抓取 DNS 查询时发现一个 DNS 响应包包含多个Answers返回了 3 个不同的 IP 地址。这种现象通常说明什么服务器在做什么策略参考答案这通常说明该域名配置了DNS 轮询Round Robin或多条 A 记录用于实现简单的负载均衡。客户端会收到多个 IP通常会选择第一个或随机选择一个进行连接从而将流量分散到不同的服务器。这是最基础的负载均衡方式不涉及健康检查。✅ 今日学习效果自检清单我能独立打开 Wireshark选择正确网卡开始和停止捕获我可以用http过滤器查看 HTTP 请求和响应并读出状态码和 Cookie 头部我能够用tcp.port 80和流跟踪找到一次完整的三次握手我能识别 SYN、SYNACK 和 ACK 三个包的标志位和序列号关系我能用dns过滤器找到 DNS 查询请求与响应并读出解析出的 IP 地址我能组合过滤器如找出所有到某个 IP 的 SYN 包我理解 Wireshark 显示的数据就是本周理论知识的物理证据⚠️ 阶段避坑重点不要抓取加密流量 (HTTPS) 试图看内容TLS 加密后的 HTTP 头部和主体完全不可见你只能看到 TLS 握手包内容无法直接分析除非配置 SSLKEYLOG 等高阶玩法暂不涉及。今天务必只用 HTTP 网站练习。不要只过滤不分析看到包列表就过而是要点开每个协议的细节把周二、周三、周四学到的字段全部对应一遍。不要混淆捕获过滤器和显示过滤器捕获过滤器语法不同BPF 语法在捕获前设置显示过滤器则是事后筛选。今天只练习显示过滤器。不要跳过 Loopback 接口抓包这能让你最干净地观察三次握手和 HTTP 交互因为无其他设备干扰。明天周六我们将进行第一周综合实验搭建简易 HTTP 服务并用 Wireshark 抓取分析同时尝试修改响应头。今天的所有抓包练习就是为明天彻底自主完成综合任务打下基础。请务必保存今天抓包截图明天可能需要对比。

相关新闻

LLM工程实践:为何应追求结构化输出而非拟人化表达

LLM工程实践:为何应追求结构化输出而非拟人化表达

1. 为什么“人性化”包装LLM输出是个伪需求这个话题乍一看有点反直觉,毕竟我们总希望AI的回答更“像人”、更“自然”。但如果你真的在项目里用过LLM,不管是调用API还是本地部署,很快就会发现一个核心矛盾:我们真正需要的&#xf…

2026/10/18 7:13:09 阅读更多 →
面向编程代理的开源视频编辑器:API化视频处理与自动化集成指南

面向编程代理的开源视频编辑器:API化视频处理与自动化集成指南

这次我们来看一个面向编程代理(Coding Agents)的开源视频编辑器。这个项目的核心不是让人类手动剪辑视频,而是为AI编程助手、自动化脚本和代码驱动的视频处理流程提供一套可编程的接口。简单说,它把视频编辑的常见操作——剪切、合…

2026/10/30 0:54:20 阅读更多 →
基于AI Agent与Slack Bolt构建智能团队助手实战指南

基于AI Agent与Slack Bolt构建智能团队助手实战指南

在团队协作工具中,你是否曾幻想过有一位永不疲倦、知识渊博的“同事”,能随时解答你的技术疑问、帮你总结冗长的讨论、甚至自动生成会议纪要?随着 AI Agent 技术的成熟,这个幻想正成为现实。近期,一款名为 Lindy Team…

2026/10/27 5:26:35 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/30 0:01:36 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/29 8:45:01 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/29 9:52:56 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/30 0:01:37 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/29 9:51:34 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/29 8:44:28 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/29 17:01:10 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/29 9:42:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/30 0:01:33 阅读更多 →