拒绝踩坑!最适合新手的 Wireshark 抓包图文教程,没有之一
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
介绍网络协议分析Wireshark 是一款功能强大的网络协议分析工具,它能够捕获并显示网络接口上传输的数据包。对于新手来说,学习使用 Wireshark 是理解网络通信原理的重要途径。通过抓包分析,新手可以直观地看到数据包的头部信息、负载内容以及各种网络协议的细节,从而加深对网络协议的理解。例如,通过分析 HTTP 数据包,新手可以了解网页请求和响应的结构,学习 TCP/IP 协议栈的工作原理等。 图文教程学习图文教程是一种非常适合新手的学习方式,它通过清晰的步骤说明和直观的截图,帮助用户逐步掌握 Wireshark 的使用方法。与纯文字教程相比,图文教程更加生动形象,能够降低学习难度,提高学习效率。例如,在安装 Wireshark 的过程中,图文教程会详细展示每一步的操作步骤和界面截图,让用户能够轻松跟随教程完成安装。此外,图文教程还会提供大量的实际案例,帮助用户将理论知识应用到实践中。 实际应用场景掌握 Wireshark 的实际应用场景对于新手来说至关重要。通过在实际网络环境中进行抓包分析,新手可以将所学知识应用到实际问题中,提升解决问题的能力。例如,在调试网络故障时,通过抓包分析可以快速定位问题所在,从而提高工作效率。此外,Wireshark 还可以用于网络安全分析、网络性能优化等场景,通过实际操作,新手可以更加深入地理解网络通信的原理和技巧。 流程Wireshark作为一款广受欢迎且功能强大的网络数据包分析工具,能够有效地捕获并展示各种网络数据包的详尽信息。要想熟练运用Wireshark,使用者必须具备对网络协议的深入理解,否则很难解读其捕获到的网络数据包内容。 Wireshark具备捕获HTTP和HTTPS流量的能力,然而,它无法对HTTPS数据进行解密,因此,在分析HTTPS内容时,Wireshark会显示出加密后的数据,难以理解其实际内容。综上所述,在处理HTTP和HTTPS流量时,Fiddler是更为合适的选择。 其他协议比如TCP,UDP 就用wireshark. wireshark 开始抓包 开始界面
wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。 点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包 ![]() Wireshark 窗口介绍 ![]() WireShark 主要分为这几个界面 1. Display Filter(显示过滤器), 用于过滤 2. Packet List Pane(封包列表), 展示捕获的数据包,包含源地址和目标地址,以及端口号。不同颜色代表不同的网络协议或状态。 3. Packet Details Pane(封包详细信息), 显示封包中的字段 4. Dissector Pane(16进制数据) 5. Miscellanous(地址栏,杂项) ![]() 合理运用过滤器功能至关重要,对于刚开始接触Wireshark的用户来说,如果没有使用过滤器,他们通常会被海量的冗余数据所淹没,在成千上万条记录信息中,极难定位到目标内容,这种情况很容易让人感到迷茫和困惑。 过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。 过滤器有两种, 一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录 其中一种过滤器类型是捕获过滤器,它用于筛选捕获的数据包,目的是防止记录过多的信息。这个过滤器可以在设置菜单中的“捕获” -> “捕获过滤器”部分进行配置。 保存过滤 在Filter栏上,填好Filter的表达式后,点击Save按钮, 取个名字。比如"Filter 102", ![]() Filter栏上就多了个"Filter 102" 的按钮。 ![]() 过滤表达式的规则 表达式规则 1. 协议过滤 以TCP为例,仅呈现TCP协议的相关信息。 2. IP 过滤 比如 ip.src ==192.168.1.102 源地址信息显示为192.168.1.102。 ip.dst==192.168.1.102, 目标地址是192.168.1.102。 3. 端口过滤 tcp.port ==80, 端口为80的 tcp.srcport == 80, 仅列出那些配置为使用TCP协议且端口号为80的。 4. Http模式过滤 http.request.method=="GET", 仅展示HTTP GET方法的内容。 5. 逻辑运算符为 AND/ OR 常用的过滤表达式 封包列表(Packet List Pane) 在封包列表的面板中,详细展示了编号、时间戳、源地址、目标地址、协议类型、数据长度以及具体的封包内容。值得注意的是,不同的协议类型在显示时采用了不同的颜色进行区分,以便用户能够更直观地区分和管理。 你也可以修改这些显示颜色的规则, View ->Coloring Rules. ![]() 封包详细信息 (Packet Details Pane) 这个面板是我们的核心部分,它负责展示协议中包含的所有字段信息。 各行信息分别为 Frame: 物理层的数据帧概况 Ethernet II: 数据链路层以太网帧头部信息 Internet Protocol Version 4: 互联网层IP数据包头部信息 Transmission Control Protocol: 传输层T中的数据段头部信息,具体指的是TCP协议的数据段头部内容。 Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议 ![]() TCP包的具体内容 通过下图,我们可以清晰地观察到wireshark捕获到的TCP包所包含的各个字段信息。 ![]() 通过以上内容,我对Wireshark已经建立了基础的认识,接下来我们将分析一个关于TCP三次握手的实际案例。 三次握手过程为 ![]() 这图我都看过很多遍了, 这次我们用wireshark实际分析下三次握手的过程。 打开wireshark, 打开浏览器输入 http://www.cr173.com 在wireshark中输入http过滤, 然后选中GET /tankxiao HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream", 这样做的目的是为了获取与浏览器打开网站相关的数据包,从而得到如下图的展示。 ![]() 图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。 第一次握手数据包 客户端发起一个TCP连接请求时,会发送一个SYN标志位被置位的TCP段,该段的序列号字段值为0,用以表明客户端希望与服务器端建立连接。具体过程如下图所示。 ![]() 第二次握手的数据包 服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图 ![]() 第三次握手的数据包 客户端在此次通信中会再次发送一个确认包(ACK),其中SYN标志位被设置为0,表示不再需要建立连接的同步信号,而ACK标志位被设置为1,确认之前接收到的数据包。同时,客户端会将服务器发来的ACK数据包中的序号字段加1,并将这个新的序号放入确认字段中,回发给服务器。此外,在数据段中,客户端会写入ISN(初始化序列号)加1的值,以此来确认连接的继续进行。具体操作方式如下图所示: ![]() 就这样通过了TCP三次握手,建立了连接 阅读原文:原文链接 该文章在 2026/1/4 18:19:48 编辑过 |
关键字查询
相关文章
正在查询... |