六、HTTP协议和HTTPS协议
1、HTTP 协议
什么是 HTTP?
HTTP(HyperText Transfer Protocol,超文本传输协议)是用于 客户端(通常是浏览器)与服务器之间通信的协议。HTTP 是无状态的协议,每一次请求都是独立的。
-
端口号:默认使用端口 80
-
特点:
-
明文传输,不安全
-
简单、高效、灵活
-
无状态,但可以通过 cookie/session 等实现“伪状态”
-
2、HTTPS 协议
什么是 HTTPS?
HTTPS(HyperText Transfer Protocol Secure)是在 HTTP 基础上加入了 SSL/TLS 安全协议的加密层,是安全版本的 HTTP。
-
端口号:默认使用端口 443
-
特点:
-
数据加密传输,防止中间人攻击(MITM)
-
使用 SSL/TLS 协议加密 HTTP 数据
-
需要安装 数字证书(如由 CA 颁发的)
-
HTTPS = HTTP + SSL/TLS
3、HTTP/HTTPS 的请求方式(Method)
以下是最常见的几种请求方式:
请求方式 | 作用 |
---|---|
GET | 请求资源,参数附加在 URL 上,无副作用 |
POST | 提交数据(如表单),参数在请求体中,可能会有副作用(如创建) |
PUT | 更新资源,常用于 REST API |
DELETE | 删除资源 |
HEAD | 类似 GET 但不返回主体,用于测试连接 |
OPTIONS | 查询服务器支持的方法 |
PATCH | 局部更新资源 |
4、HTTP/HTTPS 状态码(Status Code)
状态码由三位数字组成,按首位分为五大类:
状态码段 | 描述 |
---|---|
1xx | 信息类(如:继续请求) |
2xx | 成功类 |
3xx | 重定向类 |
4xx | 客户端错误 |
5xx | 服务器错误 |
常见状态码:
✅ 成功类(2xx):
-
200 OK
:请求成功 -
201 Created
:资源创建成功(通常用于 POST) -
204 No Content
:成功但无返回内容
🔁 重定向(3xx):
-
301 Moved Permanently
:永久重定向 -
302 Found
:临时重定向 -
304 Not Modified
:资源未修改,可使用缓存
❌ 客户端错误(4xx):
-
400 Bad Request
:请求格式错误 -
401 Unauthorized
:未认证,需要登录 -
403 Forbidden
:服务器拒绝请求 -
404 Not Found
:资源不存在
🛑 服务器错误(5xx):
-
500 Internal Server Error
:服务器内部错误 -
502 Bad Gateway
:网关错误(如代理服务器获取上游数据失败) -
503 Service Unavailable
:服务器暂时超负荷或维护中
5、HTTP 与 HTTPS 的区别总结
项目 | HTTP | HTTPS |
---|---|---|
安全性 | 不安全,明文传输 | 安全,使用 SSL/TLS 加密 |
端口 | 80 | 443 |
URL 前缀 | http:// | https:// |
证书 | 无需证书 | 需要 SSL 数字证书 |
性能 | 更快 | 略慢(加解密耗时) |
典型用途 | 内网、测试 | 生产环境、电商、金融等 |
七、常用的免费、开源抓包工具
🔧 1、通用网络抓包工具(图形界面)
(1). Wireshark
描述:功能最强大的图形化抓包分析工具,支持数百种协议。
-
特点:
-
实时抓包、离线分析
-
可视化协议解码
-
支持过滤器(Display Filters)
-
-
平台:Windows / Linux / macOS
(2). Fiddler Classic / Fiddler Everywhere
描述:主要用于 HTTP/HTTPS 流量抓取与调试(特别适用于 Web 和移动开发)
-
特点:
-
支持中间人模式 HTTPS 解密
-
会话修改、断点调试
-
-
平台:
-
Classic:Windows
-
Everywhere:跨平台(.NET)
-
-
官网:https://www.telerik.com/fiddler
(3). Charles Proxy
描述:类似 Fiddler,支持图形化查看和编辑 HTTP/HTTPS 请求。
-
特点:
-
支持移动设备抓包(设置代理)
-
请求重发、修改
-
-
平台:Windows / macOS / Linux
-
备注:收费软件,但可试用
🧰 2、命令行抓包工具
(4). tcpdump
描述:Linux 下经典的命令行抓包工具。
-
特点:
-
轻量高效
-
可输出 pcap 文件供 Wireshark 分析
-
-
平台:Linux / macOS / Windows(使用 WSL 或 Cygwin)
(5). tshark
描述:Wireshark 的命令行版本。
-
特点:
-
与 Wireshark 完全兼容
-
支持显示过滤器
-
-
适用场景:自动化脚本、无图形环境
(6). mitmproxy
描述:支持 HTTP/HTTPS 的中间人代理抓包工具。
-
特点:
-
可进行请求/响应的实时修改
-
支持命令行和 Web UI
-
可编程(Python 脚本扩展)
-
-
平台:跨平台(Linux / Windows / macOS)
📱 3、移动端/嵌入式抓包利器
(7). Packet Capture (Android App)
描述:安卓上使用 VPN 技术抓取流量的工具(免 root)。
-
特点:
-
支持 HTTPS 解密(通过导入证书)
-
实时查看请求
-
-
平台:Android
-
获取方式:Google Play / 官网 APK
(8). Wireshark + USB 抓包(Android/iOS)
-
方法:
-
Android:通过 USB tethering + Wireshark 抓包手机流量
-
iOS:配合 Mac + Charles 或 Wireshark 抓包
-
📦 4、协议专用抓包工具
工具名称 | 说明 |
---|---|
Scapy | Python 库,支持抓包、构造包、伪造包(适合安全测试) |
Burp Suite Community | 常用于 Web 安全测试(如渗透测试),支持中间人代理。开源版本功能有限 |
ZAP (OWASP Zed Attack Proxy) | OWASP 提供的开源 Web 安全代理,适合渗透测试和自动化爬虫 |
httpry | 实时分析 HTTP 流量,适合日志监控场景 |
📝 建议用途分类
场景 | 推荐工具 |
---|---|
通用网络抓包 | Wireshark、tcpdump、tshark |
Web 调试 | Fiddler、Charles、mitmproxy |
移动抓包 | mitmproxy、Packet Capture、Wireshark (USB) |
安全测试 | Scapy、Burp Suite、ZAP |
自动化脚本 | tshark、mitmproxy(脚本)、tcpdump |
八、常见网络攻击
🔐 1、网络层攻击(针对网络通信本身)
(1). DDoS(分布式拒绝服务攻击)
-
原理:攻击者控制大量主机同时向目标服务器发送请求,消耗带宽或资源,使其瘫痪。
-
例子:
-
SYN Flood:伪造大量 SYN 请求,占用服务器连接队列。
-
UDP Flood:大量无效 UDP 数据包冲击服务器。
-
-
危害:网站无法访问、服务中断。
-
著名事件:2016年 Mirai 僵尸网络攻击 Dyn,导致 Twitter、Netflix、GitHub 瘫痪。
(2). ARP 欺骗 / MAC 欺骗
-
原理:伪造 ARP 报文,将自己伪装成网关,实现流量劫持。
-
例子:攻击者在局域网内监听并篡改数据包,劫持用户访问的网站。
-
危害:中间人攻击、密码泄露、钓鱼页面注入。
(3). DNS 欺骗 / DNS 污染
-
原理:篡改 DNS 响应,使用户访问伪造的 IP 地址。
-
例子:用户访问
bank.com
被引导到攻击者控制的钓鱼网站。 -
危害:窃取账号密码、传播恶意软件。
🧠 2、应用层攻击(针对 Web 和软件)
(4). SQL 注入(SQL Injection)
-
原理:在输入中注入 SQL 代码,篡改数据库查询逻辑。
-
例子:登录表单中输入
admin' OR 1=1 --
绕过身份验证。 -
危害:数据库被读取、篡改或删除。
(5). XSS(跨站脚本攻击)
-
原理:攻击者在网页中注入恶意脚本,被其他用户执行。
-
例子:在评论区输入
<script>stealCookies()</script>
。 -
类型:
-
存储型 XSS(代码写入数据库)
-
反射型 XSS(参数注入 URL)
-
DOM 型 XSS(前端动态拼接引起)
-
-
危害:盗取 Cookie、劫持会话、钓鱼跳转。
(6). CSRF(跨站请求伪造)
-
原理:借助用户的登录态,在其不知情的情况下发起请求。
-
例子:伪造“修改密码”请求链接发给用户。
-
危害:篡改用户资料、转账、下单等。
(7). 文件上传漏洞
-
原理:上传恶意脚本文件,绕过格式校验并在服务器执行。
-
例子:上传
.php
木马脚本,远程控制服务器。 -
危害:网站被控制、服务器被植入后门。
(8). 路径遍历(Directory Traversal)
-
原理:通过输入如
../../../etc/passwd
访问服务器敏感文件。 -
危害:泄露系统配置、用户密码文件。
🎯 3、身份与认证攻击
(9). 暴力破解(Brute Force)
-
原理:通过穷举用户名和密码组合暴力登录。
-
工具:Hydra、Medusa、Burp Intruder 等。
-
防护措施:验证码、登录锁定、IP 限制。
(10). 密码重放攻击(Replay Attack)
-
原理:截获已认证的数据包并重复发送,实现冒充。
-
危害:伪造身份执行操作。
-
防护:加密通信 + 时间戳 + Token 校验。
(11). 中间人攻击(MITM)
-
原理:攻击者拦截并修改通信内容(常结合 ARP 欺骗或 Wi-Fi 热点)。
-
危害:账号密码泄露、数据篡改。
-
防护:强制使用 HTTPS、证书校验。
🐚 4、系统与后门类攻击
(12). 后门植入
-
原理:攻击者在系统中留下远程控制入口。
-
方式:
-
Webshell
-
开发人员被恶意注入代码
-
-
危害:持续访问服务器、数据泄漏、提权。
(13). 权限提升(提权攻击)
-
原理:利用系统或程序漏洞获得更高权限。
-
例子:通过系统服务漏洞从普通用户提权为 root。
-
危害:全面控制目标系统。
💣 5、社会工程攻击
(14). 钓鱼攻击(Phishing)
-
原理:伪装成可信对象骗取敏感信息。
-
方式:
-
伪装邮件/短信
-
构造高仿网页
-
-
危害:用户账号、银行卡、公司机密被盗。
(15). 社交工程(Social Engineering)
-
原理:通过“人”的弱点获取系统访问权。
-
例子:
-
假扮技术支持打电话索取密码
-
垃圾桶里翻找密码便签
-
-
危害:绕过技术防护,获取关键资源。
🦠 6、恶意代码攻击
(16). 蠕虫病毒(Worm)
-
特性:自动复制传播、无需宿主文件
-
例子:SQL Slammer、WannaCry(勒索 + 蠕虫)
-
危害:网络瘫痪、数据被加密
(17). 木马(Trojan Horse)
-
原理:伪装为正常程序执行恶意操作。
-
常见功能:远程控制、键盘记录、摄像头监听
(18). 勒索软件(Ransomware)
-
原理:加密用户文件索要赎金
-
代表:WannaCry、Conti、REvil
-
危害:数据不可用,企业/政府系统瘫痪
九、常见网络攻击的对应防御手段
以下是分类列出常见网络攻击的对应防御手段,分为网络层、防御认证类、应用层、安全意识层、以及综合手段,帮助你构建全面的网络安全防线。
🔐 1、网络层攻击防御
攻击类型 | 防御手段 | 说明 |
---|---|---|
DDoS 攻击 | ✅ 使用 DDoS 清洗服务(如 Cloudflare、阿里云高防) ✅ 限速、限连接数 ✅ 黑名单过滤 | 通过流量牵引、源头封禁进行保护 |
ARP 欺骗 | ✅ 静态 ARP 表设置 ✅ 局域网隔离 ✅ 使用交换机的端口绑定功能 | 防止伪造网关、劫持流量 |
DNS 欺骗 | ✅ 使用 DNSSEC ✅ 加密 DNS(DoH/DoT) ✅ 配置可信 DNS 服务 | 保证 DNS 响应的真实性与完整性 |
🧠 2、身份认证与通信安全防护
攻击类型 | 防御手段 | 说明 |
---|---|---|
中间人攻击(MITM) | ✅ 强制启用 HTTPS(TLS 证书) ✅ HSTS 策略 ✅ 不信任自签名证书 | 防止通信被篡改或监听 |
暴力破解 | ✅ 账号锁定机制 ✅ 加入验证码 ✅ 登录失败限速 ✅ 使用强密码和多因素认证(MFA) | 防止猜密码攻击成功 |
密码重放攻击 | ✅ 使用 Token、防重放 Nonce ✅ 时间戳校验 ✅ TLS 加密传输 | 防止请求被复用 |
🌐 3、应用层攻击防御
攻击类型 | 防御手段 | 说明 |
---|---|---|
SQL 注入 | ✅ 使用 ORM 框架 ✅ 参数化查询(Prepared Statements) ✅ 输入校验 | 严格过滤与分离用户输入和语句逻辑 |
XSS | ✅ 对输出做 HTML 转义 ✅ CSP 策略 ✅ HTTPOnly Cookies | 防止恶意脚本注入页面 |
CSRF | ✅ 使用 CSRF Token ✅ Referer / Origin 校验 ✅ Cookie 设置 SameSite 属性 | 限制跨站来源操作 |
文件上传漏洞 | ✅ 限制文件类型和大小 ✅ 检查 MIME 类型和扩展名 ✅ 存储在非可执行目录 | 防止木马上传与执行 |
路径遍历 | ✅ 清洗文件路径 ✅ 禁止相对路径访问系统敏感目录 | 防止访问非授权文件 |
🛡️ 4、系统与权限类攻击防御
攻击类型 | 防御手段 | 说明 |
---|---|---|
后门植入 | ✅ 文件完整性检查(如 AIDE) ✅ 定期杀毒扫描 ✅ 最小权限原则 | 保证系统文件未被篡改 |
提权攻击 | ✅ 补丁更新及时 ✅ 用户隔离 ✅ 禁用不必要的服务 | 限制攻击者横向移动与权限扩展 |
🎣 5、社交工程 & 钓鱼攻击防御
攻击类型 | 防御手段 | 说明 |
---|---|---|
钓鱼网站 | ✅ 启用浏览器安全插件 ✅ 邮件过滤系统 ✅ 域名白名单 | 防止用户误点伪造站点 |
社会工程学 | ✅ 员工安全培训 ✅ 内部审计制度 ✅ 安全流程规范(如不轻易口头提供密码) | 强化人为防线,避免“人”的漏洞 |
🔍 6、综合防御体系建议
安全组件 | 功能 | 推荐产品/方式 |
---|---|---|
WAF(Web 应用防火墙) | 拦截 XSS、SQL 注入、CSRF 等 | Cloudflare WAF、AWS WAF、阿里云 WAF |
IDS/IPS(入侵检测/防御系统) | 实时监控恶意行为 | Snort、Suricata(开源) |
端点防护(EDR) | 防勒索病毒、木马等 | 火绒、360终端安全、SentinelOne |
零信任访问控制(ZTA) | 杜绝内部信任假设 | Google BeyondCorp、Zero Trust VPN |
日志监控与审计 | 快速检测异常行为 | ELK、Graylog、SIEM 平台 |
安全加固脚本 | 自动配置安全参数 | CIS Benchmarks、Lynis(Linux) |
✅ 总结:安全防御三大原则
-
最小权限:不给系统、用户不必要的权限。
-
输入验证 & 输出过滤:所有外部输入都要怀疑并校验。
-
多层防御(Defense in Depth):不依赖单点,每层都有兜底保护。