目录 第1章初识网络流量分析 1.1开宗明义——网络层次模型与流量分析的联系 1.1.1网络层次初探 1.1.2TCP/IP模型各层的作用 1.2武功秘笈——网络流量的获取方式 1.2.1共享网络——通过Hub连接上网 1.2.2交换式网络——端口镜像(交换机具备管理功能) 1.2.3流量获取方式——TAP 1.2.43种流量获取方式的区别 1.2.5公有云环境下的流量获取方式 1.2.6私有云环境下的流量获取方式 1.2.7流量获取点的选择 1.3十八般兵器——常见的网络流量工具介绍 1.3.1Wireshark 1.3.2Sniffer 1.3.3tcpdump 1.3.4科来CSNAS 1.3.5其他网络流量分析软件 1.4修炼秘笈——哪些场景需要数据包分析 1.4.1为什么需要数据包分析 1.4.2数据包分析的优势 1.5案例: 如何发现与分析某OA系统的0Day漏洞攻击 1.5.1问题描述 1.5.2分析过程 1.5.3分析结论 1.5.4价值 1.6实验: 初探抓包软件科来CSNAS 1.7习题 第2章庐山“帧”面目——二层协议分析 2.1以太网数据帧介绍 2.2VLAN协议介绍 2.2.1VLAN技术 2.2.2VLAN标签 2.2.3关于VLAN的一道面试题 2.3ARP介绍 2.3.1ARP 2.3.2ARP数据帧分析 2.3.3ARP工作原理 2.3.4ARP常见报文 2.3.5ARP攻击原理 2.4案例: 如何找出感染ARP病毒的主机 2.5实验: 分析ARP扫描流量 2.6习题 第3章“包”罗万象——三层协议分析 3.1车水马龙的数据包世界——IP是如何工作的 3.1.1网络层地址 3.1.2IP数据包格式 3.2一车拉不下——如何重组被分片的数据包 3.3IP丢包了怎么办 3.3.1ICMP概述 3.3.2ICMP数据包的格式 3.3.3ping程序原理 3.3.4ping包——ICMP回显请求、回显应答数据包 3.3.5数据包超时该如何通告——ICMP超时包 3.3.6数据包无法到达目的地该如何通告——ICMP不可达包 3.4案例31: ping大包丢包的原因分析 3.5案例32: 如何发现大型网络中的环路问题 3.6下一代网络世界IPv6到底难在哪里 3.6.1IPv6的发展历程 3.6.2IPv6的新特点 3.6.3IPv6地址表示方法 3.6.4EUI64算法 3.6.5IPv6地址类型 3.6.6IPv6数据包格式 3.6.7IPv6扩展报头 3.7适应下一代网络的ICMP与ARP 3.7.1ICMPv6概述 3.7.2ICMPv6数据包格式 3.8实验: 一次IPv6网络环境的Tracert流量分析 3.9习题 第4章“段”章取义——四层协议分析 4.1网购入门——经典的TCP 4.1.1TCP介绍 4.1.2TCP数据包格式 4.1.3TCP报头选项 4.1.4三次握手与四次断开 4.1.5案例41: 如何定位某行新业务压力测试中的故障 4.1.6连接建立失败了怎么办 4.1.7确认收货——确认、累积确认与时延确认机制 4.1.8余额的研究——TCP流量控制 4.1.9TCP的拥塞控制机制 4.1.10案例42: 如何定位FTP传输效率低的根源 4.1.11影响TCP性能的原因 4.2购买力测评——网络分析中的TCP指标 4.2.1通过TCP三次握手判断网络时延 4.2.2通过TCP交易判断其他时延 4.2.3应用交易处理时间分析 4.2.4其他KPI指标示例 4.2.5案例43: 如何解决C/S架构应用访问缓慢的问题 4.3UDP 4.3.1UDP介绍 4.3.2UDP数据包格式 4.3.3UDP校验和 4.3.4UDP数据包发送错误的情况 4.3.5UDPLite 4.4实验: TCP会话流量分析 4.5习题 第5章亭台楼阁——应用层协议介绍 5.1超文本的传输方式——HTTP 5.1.1HTTP简介 5.1.2HTTP URI 5.1.3HTTP请求包 5.1.4HTTP请求方法 5.1.5HTTP报头字段 5.1.6HTTP响应包 5.1.7HTTP状态码 5.1.8HTTP分析方法 5.2镖车与鸡粪——HTTPS 5.2.1什么是HTTPS 5.2.2HTTPS建立连接的过程 5.2.3从数据包来看HTTPS建立连接的过程 5.2.4HTTPS的分析方法 5.3绰号与真名——DNS 5.3.1DNS的概念 5.3.2树状域名结构 5.3.3本地域名服务器 5.3.4域名解析过程 5.3.5DNS数据包格式 5.3.6DNS分析方法 5.4网络邮差——SMTP与POP3 5.4.1SMTP概述 5.4.2SMTP操作命令与状态码 5.4.3SMTP的工作流程 5.4.4POP3概述 5.4.5POP3操作命令与状态码 5.4.6POP3的工作流程 5.4.7邮件协议分析方法 5.4.8通过SMTP和POP3还原邮件正文与附件 5.5专业货运——FTP 5.5.1FTP概述 5.5.2FTP操作命令与状态码 5.5.3FTP的主动模式与被动模式 5.5.4FTP工作流程详解 5.5.5FTP分析方法 5.5.6通过FTP流量还原FTP交互的文件 5.6实验: HTTP/HTTPS流量分析 5.7习题 第6章独具慧眼——准确定位网络攻击 6.1踩点的艺术——网络扫描 6.1.1什么是端口扫描 6.1.2TCP SYN扫描 6.1.3如何通过流量分析发现SYN扫描 6.1.4TCP connect()扫描 6.1.5如何通过流量分析发现connect()扫描 6.1.6UDP扫描 6.1.7如何通过流量分析发现UDP扫描 6.1.8NULL、FIN与Xmas扫描 6.1.9如何通过流量分析发现NULL扫描 6.1.10ACK扫描 6.1.11如何通过流量分析发现ACK扫描 6.1.12扫描总结 6.2一击毙命——DoS攻击 6.2.1什么是DoS攻击 6.2.2流量型DoS攻击简介 6.2.3协议型DoS攻击简介 6.2.4应用请求型DoS攻击简介 6.2.5什么是DDoS攻击 6.2.6什么是DRDoS攻击 6.2.7常见的DRDoS攻击简介 6.2.8DoS攻击分析总结 6.2.9案例61: 如何发现并防范“隐蔽式”CC攻击 6.3你被控制了——木马、蠕虫、僵尸网络分析 6.3.1什么是木马 6.3.2木马的防范难点 6.3.3木马的工作模型 6.3.4木马的监测分析方法 6.3.5什么是蠕虫 6.3.6蠕虫的工作模型 6.3.7蠕虫的监测分析方法 6.3.8什么是僵尸网络 6.3.9僵尸网络工作模型 6.3.10僵尸网络的监测分析方法 6.3.11案例62: 僵尸网络分析——飞客蠕虫 6.4花言巧语——SQL注入 6.4.1什么是SQL语句 6.4.2如何探测SQL注入点 6.4.3利用SQL注入实现“万能登录密码” 6.4.4利用SQL注入实现“获取数据库内容” 6.4.5回显注入的完整过程 6.4.6通过流量分析观察SQL注入 6.4.7报错注入与盲注 6.5夹带私货——文件上传与WebShell 6.5.1文件上传漏洞形成的原因 6.5.2文件上传漏洞的危害 6.5.3上传“一句话木马”实现控制服务器的完整过程 6.5.4通过流量分析观察文件上传和WebShell 6.6实验: 端口扫描流量分析 6.7习题 第7章“运”筹帷幄——运维案例分析 7.1案例71: 如何解决二维码扫描读取等待问题 7.1.1问题描述 7.1.2分析过程 7.1.3分析结论 7.1.4价值总结 7.2案例72: 如何快速解决运营商营业厅缴费页面无法访问的故障 7.2.1问题描述 7.2.2分析过程 7.2.3分析结论 7.2.4价值总结 7.3案例73: 如何定位网站中App下载失败的故障原因 7.3.1问题描述 7.3.2分析过程 7.3.3分析结论及建议 7.3.4价值体现 7.4案例74: 如何解决储值卡充值到账延迟问题 7.4.1问题描述 7.4.2分析过程 7.4.3分析结论 7.4.4价值总结 7.5实验: 疑难网络故障分析 7.6习题 第8章居“安”思危——安全案例分析 8.1案例81: 如何分析入侵门户网站的攻击行为 8.1.1问题描述 8.1.2分析过程 8.1.3分析结论及建议 8.1.4价值总结 8.2案例82: 如何溯源分析清除痕迹后的网站恶意篡改攻击行为 8.2.1问题描述 8.2.2分析过程 8.2.3分析结论 8.2.4价值总结 8.3案例83: 如何发现利用Struts2漏洞的攻击行为 8.3.1问题描述 8.3.2分析过程 8.3.3分析结论及建议 8.3.4价值总结 8.4案例84: 如何分析暴力破解数据库密码的攻击行为 8.4.1环境描述 8.4.2分析过程 8.4.3分析结论及建议 8.4.4价值总结 8.5实验: 木马流量分析 8.6习题 参考文献