ARTICLE DETAIL

资讯详情

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

Wireshark 保姆教程:抓包、过滤、数据包分析实操

Wireshark 保姆教程:抓包、过滤、数据包分析实操 Wireshark 保姆教程抓包、过滤、数据包分析实操前言不管你是网络工程师、运维、网络安全学习者还是在校学生学习计算机网络Wireshark都是绕不开的神器。它是目前全球最流行的开源网络数据包捕获与分析工具可以抓取网卡进出的所有数据包直观看到网络底层通信细节是排查网络卡顿、丢包、延迟、协议异常、攻击流量溯源的核心工具。很多新手打开 Wireshark 之后直接懵掉满屏滚动的数据包眼花缭乱不知道该抓哪个网卡、分不清两种过滤器、看不懂数据包分层抓完包之后完全不知道从哪里下手分析。网上很多教程只讲零散命令缺少完整实操链路。本文保姆级手把手带你完整走完软件安装要点、网卡选择、开始抓包、停止保存、捕获过滤器与显示过滤器详细区分、海量过滤语法实战、数据包分层解读、TCP 三次握手、HTTP 流量、ICMP ping 包实战分析还有安全渗透场景下流量排查技巧、常见踩坑问题。全程实操跟着电脑一步一步操作就能复现。⚠️免责声明本文所有技术内容仅用于个人学习、授权环境测试、企业内部运维排障。严禁在未授权的网络环境抓包、窃取他人网络数据私自抓包他人流量属于违法行为请遵守《网络安全法》。一、Wireshark 安装与前置准备1.1 下载安装要点官网直接下载 Wireshark安装过程中必须勾选 Npcap 组件。Npcap 是 Windows 平台抓包驱动没有它 Wireshark 无法读取网卡数据包很多新手抓不到包根源就是没装 Npcap。安装完成后右键 Wireshark 选择以管理员身份运行。普通权限打开会出现网卡列表不全、无法捕获无线网卡数据包的问题。LinuxKali环境一般预装 Wireshark执行需要 root 权限MacOS 需要安装 libpcap。本文主要以 Windows 系统实操演示。1.2 认识网卡列表选对网卡是抓包第一步打开 Wireshark 首页最上方会列出本机所有网卡以太网、WLAN 无线网卡、虚拟机虚拟网卡VMware/VirtualBox、Loopback 本地回环网卡Npcap Loopback Adapter。以太网 Ethernet插网线使用WLAN/Wi-Fi无线网卡抓取本机 WiFi 流量Loopback127.0.0.1本地回环程序本机之间通信不会经过外网虚拟网卡虚拟机桥接 / NAT 网卡抓虚拟机内的流量。✅选网卡判断技巧看网卡后面的流量波形图有跳动波形的网卡就是当前正在使用的网卡波形静止没有数据代表网卡没有流量不要选。新手最常见错误选错网卡抓半天一个包都没有。选中网卡之后双击网卡或者点击左上角鲨鱼鳍图标开始捕获抓包。再次点击鲨鱼鳍停止抓包。二、Wireshark 界面四大核心面板启动抓包后主界面分为 4 块看懂这 4 个面板才算入门。数据包列表面板Packet List顶部大列表实时滚动所有捕获数据包。字段依次No 编号、Time 时间戳、Source 源地址、Destination 目标地址、Protocol 协议、Length 包长度、Info 简要信息。不同协议自带颜色标记可以在View - Coloring Rules自定义配色方便快速识别 TCP、DNS、HTTP、ARP 包。数据包详情面板Packet Details【最重要】选中列表任意一条数据包下方展示OSI 七层分层结构从上到下依次展开Frame帧概要物理层信息捕获时间、总字节长度Ethernet II数据链路层源 MAC、目标 MAC 地址Internet Protocol Version4网络层源 IP、目的 IP、TTLTransmission Control Protocol / User Datagram Protocol传输层 TCP/UDP端口、标志位、序列号HTTP/DNS/ICMP应用层协议数据。每一层可以点击加号展开查看所有协议字段网络排障、安全分析全部看这里。原始字节面板Packet Bytes最底部十六进制原始数据包右侧是 ASCII 明文。做恶意流量分析、协议逆向、看明文传输内容会用到。过滤器输入框列表上方分为两处捕获过滤器抓包前设置、显示过滤器抓包之后筛选日常 90% 场景用这个。三、抓包基础实操完整抓包流程Ping 示例我们先来做最简单的实操抓取 ping 百度的 ICMP 数据包。管理员打开 Wireshark选中正在上网的网卡点击鲨鱼鳍开始抓包WinR 输入 cmd 打开命令行执行ping www.baidu.comping 执行完成回到 Wireshark点击鲨鱼鳍停止抓包在上方显示过滤器输入框输入icmp回车页面只保留 ICMP 数据包选中数据包在详情面板展开查看 ICMP 内容。可以看到两类包Echo request请求包本机发给百度服务器、Echo reply应答包服务器返回给本机。如果只有 request 没有 reply说明网络不通。抓包完成之后File - Save as保存.pcapng抓包文件后续可以反复打开分析这是行业通用数据包格式渗透测试、故障排查都需要提交 pcap 包。小技巧抓包前可以开启选项Capture - Options勾选Use multiple files超大流量自动分割文件避免单个 pcap 文件过大卡死。四、重中之重两种过滤器千万不要搞混新手 90% 踩坑点捕获过滤器 Capture Filter 和 显示过滤器 Display Filter 语法完全不一样不能混用4.1 捕获过滤器Capture FilterBPF 语法抓包之前提前设置抓包过程不能修改。作用网卡驱动层面直接丢弃不匹配数据包不会保存到 pcap 文件目的是减少捕获数据量适合高流量服务器抓包防止抓包文件巨大。语法BPF 伯克利数据包过滤语法写在网卡选项里双引号内填写。常用捕获过滤器示例# 只捕获80端口流量 tcp port 80 # 只捕获源IP 192.168.1.100的流量 src host 192.168.1.100 # 只捕获目的IP 192.168.1.1 dst host 192.168.1.1 # 捕获UDP53 DNS流量 udp port 53 # 排除本机流量 not host 127.0.0.1缺点功能弱只支持二层到四层不能直接过滤 HTTP、DNS 应用层内容日常学习、简单排障很少用。4.2 显示过滤器Display Filter日常最常用抓包之后使用随时修改不会删除原始数据包只是隐藏不匹配包。原始 pcap 数据包全部保留清空过滤器就能恢复全部数据包。语法更强大支持七层所有协议字段支持内容匹配。输入框输入表达式绿色 语法正确红色 语法写错。4.3 显示过滤器全套实战语法直接复制使用4.3.1 按协议过滤http # 只看http协议包 dns # DNS域名解析 icmp # ping包 tcp # 全部TCP流量 udp # 全部UDP流量 arp # ARP地址解析 tls # HTTPS TLS流量4.3.2 IP 地址过滤ip.addr 192.168.1.100 # 源IP或者目标IP等于这个IP双向 ip.src 192.168.1.100 # 源IP为192.168.1.100 ip.dst shturl.cc/MJv7b # 目标IP4.3.3 端口过滤tcp.port 80 # TCP源或目标端口80HTTP tcp.port 443 # HTTPS udp.port 53 # DNS tcp.port 22 # SSH tcp.port 3306 # MySQL4.3.4 逻辑组合and /or/not# IP是192.168.1.100 并且是HTTP流量 ip.addr 192.168.1.100 and http # DNS或者ICMP流量 dns or icmp # 排除443 HTTPS包只看其他TCP tcp and not tcp.port 443 # 源IP 192.168.1.100目标端口80 ip.src 192.168.1.100 tcp.dstport 804.3.5 内容匹配 contains安全分析高频查找数据包里面包含指定字符串渗透排查 Webshell、明文请求必备# http数据包内容包含admin http contains admin # http请求包含selectSQL注入排查 http contains select4.3.6 TCP 标志位过滤红队 / 网络故障高频tcp.flags.syn 1 # SYN包TCP握手发起包 tcp.flags.ack 1 # ACK确认包 tcp.flags.reset 1 # RST重置包连接被强制断开排查连接异常 tcp.flags.fin 1 # FIN结束包正常关闭连接4.4 过滤器快速操作小技巧右键数据包 - Apply as Filter - Selected自动生成过滤表达式不用手动写右键 - Follow - TCP Stream追踪整个 TCP 会话流把一个完整连接所有数据重组直接看到 HTTP 完整请求和响应文本分析网页请求必用功能过滤器输入框右侧Clear按钮一键清空过滤器。五、数据包分层实操分析TCP 三次握手完整解读TCP 是面向连接可靠传输协议浏览器访问网站第一步先完成 TCP 三次握手再发送 HTTP 请求。我们抓包访问一个 http 网站过滤tcp.flags.syn 1找到握手包。第一次握手 SYN客户端 → 服务器。客户端发送 SYN 标志置 1携带客户端初始序列号 Seqx请求建立连接数据包不带上层数据。Info 列SYN第二次握手 SYNACK服务器 → 客户端。服务器收到 SYN回复 SYNACKSYN 代表服务端也要同步序列号 SeqyACK 确认号 x1表示收到客户端请求。Info 列SYN, ACK第三次握手 ACK客户端 → 服务器。ACK 标志置 1确认号 y1确认收到服务端 SYN。至此 TCP 连接成功建立。Info 列ACK三次握手完成之后客户端才会发送 HTTP GET 请求。拓展四次挥手TCP 断开连接。FIN、ACK 成对出现正常关闭如果大量 RST 包代表连接异常中断可能网络防火墙拦截、程序崩溃、攻击行为。重点字段解释TCP 层Sequence number (seq)序列号对传输字节编号保证顺序Acknowledgment number (ack)确认号告诉对方已经收到前面所有字节Window滑动窗口流量控制Checksum校验和校验数据包完整性。六、HTTP 数据包实战分析过滤http找到 GET 请求包右键 Follow TCP Stream直接看到完整 HTTP 请求。请求行示例GET /index.html HTTP/1.1请求头包含 Host、User-Agent、Cookie、Referer、Accept 等信息。响应包HTTP/1.1 200 OK代表成功404 页面不存在、500 服务器错误、302 重定向。注意HTTPS 是 TLS 加密Wireshark 抓到的 tls 包是密文默认看不到明文。想要解密 HTTPS需要配置浏览器 SSLKEYLOG 日志Wireshark 导入密钥文件才能解密后面会简单提。七、其他常用协议快速解读7.1 DNSudp.port 53域名解析协议客户端发送查询请求A 记录查询域名对应的 IPDNS 服务器返回应答。网络故障排查访问网站打不开先抓 DNS 包看是否解析失败。7.2 ARP二层地址解析根据 IP 查询 MAC 地址局域网大量 ARP 广播。内网渗透经常利用 ARP 欺骗抓包可以发现异常 ARP 流量。八、网络安全 / 渗透场景抓包实战思路Wireshark 不只是网工工具也是 SRC、红队、应急响应必备流量分析工具。Web 攻击排查过滤http contains查找注入、上传、webshell 请求看请求参数、POST 数据恶意连接排查大量向外发起 SYN 连接、RST 包排查木马外联内网横向流量抓取 SMB、RDP、MSSQL 流量看账号认证数据包应急溯源拿到 pcap 包寻找异常 IP、异常域名、异常端口通信还原攻击全过程。提醒HTTPS 加密流量单纯抓包无法直接读取明文需要密钥解密。很多新手疑惑为什么 HTTPS 包全是 TLS 密文看不到网页内容这是正常现象。九、高频踩坑问题 排坑指南问题 1选对网卡抓不到任何数据包没有管理员权限运行 WiresharkNpcap 驱动未安装或者安装失败重装 Npcap网卡是无线网卡Windows 限制无线网卡混杂模式无法抓取局域网其他设备流量想要抓局域网其他设备流量交换机端口镜像或者电脑开热点设备连热点抓热点网卡。问题 2过滤器输入变红不生效捕获过滤器和显示过滤器语法混用比如捕获过滤器写ip.addr 1.1.1.1就会报错捕获过滤器要用host 1.1.1.1。问题 3Follow TCP Stream 看不到中文乱码数据包原始编码问题Wireshark 可以切换编码一般 UTF-8 或者 GB2312。问题 4抓包文件 pcapng 体积巨大抓包前使用捕获过滤器精简流量或者开启自动分割文件抓包结束及时停止捕获。十、进阶小技巧统计流量Statistics - Conversations查看 IP 会话统计快速找到流量最大 IP排查异常外联专家信息Analyze - Expert InformationWireshark 自动标记丢包、重传、异常 RST 包网络排障神器保存过滤结果可以保存自定义显示过滤器反复调用命令行工具 tsharkWireshark 配套命令行抓包工具服务器无图形环境下抓包语法和显示过滤器通用。十一、学习路线建议先掌握基础抓包、网卡选择、保存 pcap熟练显示过滤器大量练习 IP、端口、TCP 标志位过滤看懂 OSI 分层读懂 TCP 三次握手、四次挥手、HTTP、DNS练习 Follow TCP Stream分析完整会话进阶TLS 解密、专家信息、会话统计、恶意流量分析结合靶场抓包复现注入、文件上传等 Web 流量。总结Wireshark 核心逻辑一句话概括网卡捕获数据包过滤器筛选目标流量分层面板解析协议内容。不要只背过滤命令理解 OSI 七层模型理解 TCP、HTTP 等协议交互过程才能看懂数据包。网络排障、协议学习、安全应急抓包分析都是底层核心能力。新手建议一边看教程一边打开电脑实操跟着抓 ping、访问网页一点点看数据包字段多练几次就不再害怕满屏数据包。最后网络安全需要学习那些知识网络安全零基础入门学习路线规划初级1、网络安全理论知识2天①了解行业相关背景前景确定发展方向。②学习网络安全相关法律法规。③网络安全运营的概念。④等保简介、等保规定、流程和规范。非常重要2、渗透测试基础一周①渗透测试的流程、分类、标准②信息收集技术主动/被动信息搜集、Nmap工具、Google Hacking③漏洞扫描、漏洞利用、原理利用方法、工具MSF、绕过IDS和反病毒侦察④主机攻防演练MS17-010、MS08-067、MS10-046、MS12-20等3、操作系统基础一周①Windows系统常见功能和命令②Kali Linux系统常见功能和命令③操作系统安全系统入侵排查/系统加固基础4、计算机网络基础一周①计算机网络基础、协议和架构②网络通信原理、OSI模型、数据转发流程③常见协议解析HTTP、TCP/IP、ARP等④网络攻击技术与网络安全防御技术⑤Web漏洞原理与防御主动/被动攻击、DDOS攻击、CVE漏洞复现5、数据库基础操作2天①数据库基础②SQL语言基础③数据库安全加固6、Web渗透1周①HTML、CSS和JavaScript简介②OWASP Top10③Web漏洞扫描工具④Web渗透工具Nmap、BurpSuite、SQLMap、其他菜刀、漏扫等恭喜你如果学到这里你基本可以从事一份网络安全相关的工作比如渗透测试、Web 渗透、安全服务、安全分析等岗位如果等保模块学的好还可以从事等保工程师。薪资区间6k-15k到此为止大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗想要入坑黑客网络安全的朋友给大家准备了一份282G全网最全的网络安全资料包免费领取7、脚本编程初级/中级/高级在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中面对复杂多变的网络环境当常用工具不能满足实际需求的时候往往需要对现有工具进行扩展或者编写符合我们要求的工具、自动化脚本这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中想要高效地使用自制的脚本工具来实现各种目的更是需要拥有编程能力.零基础入门建议选择脚本语言Python/PHP/Go/Java中的一种对常用库进行编程学习 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP IDE强烈推荐Sublime ·Python编程学习学习内容包含语法、正则、文件、 网络、多线程等常用库推荐《Python核心编程》不要看完 ·用Python编写漏洞的exp,然后写一个简单的网络爬虫 ·PHP基本语法学习并书写一个简单的博客系统 熟悉MVC架构并试着学习一个PHP框架或者Python框架 (可选) ·了解Bootstrap的布局或者CSS。8、超级黑客这部分内容对零基础的同学来说还比较遥远就不展开细说了贴一个大概的路线。网络安全工程师企业级学习路线视频配套资料国内外网安书籍、文档工具当然除了有配套的视频同时也为大家整理了各种文档和书籍资料工具并且已经帮大家分好类了。一些我自己买的、其他平台白嫖不到的视频教程要学习网安其实不难难的是坚持和相信自己我的经验是既然已经选定网安你就要相信它相信它能成为你日后进阶的高效渠道这样自己才会更有信念去学习才能在碰到困难的时候坚持下去。机会属于有准备的人这是一个实力的时代。人和人之间的差距不在于智商而在于如何利用业余时间只要你想学习什么时候开始都不晚不要担心这担心那你只需努力剩下的交给时间这份完整版的学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表