概述
监控网卡
- 笔记本无线网:选
Wi-Fi
或WLAN
- 台式机有线:选
Ethernet
- 虚拟网卡(如VMware)需特殊设置,物理网卡可直接捕获真实流量
HTTP
设置捕获过滤器(关键防御)
1 |
tcp port 80 // 只捕获HTTP流量(标准端口) |
- 为什么过滤
- 未过滤时风险:每秒捕获数千个ARP/DNS/TLS等无关数据包
- 案例
- 未过滤时打开视频网站 → 1分钟产生50,000+数据包 → Wireshark内存溢出崩溃
- 原理
- BPF引擎在网卡层面丢弃非TCP 80端口流量,大幅降低CPU负载
开始捕获与流量生成
- 步骤
- 点击蓝色鲨鱼鳍按钮,开始捕获
- 浏览器访问: http://neverssl.com(纯HTTP测试站)
- 点击红色方块按钮,停止捕获
- 验证
- 成功标志:主窗口显示彩色数据包
筛选HTTP
流量
1 |
http && ip.addr == [你的IP] // 例: http && ip.addr == 192.168.1.101 |
- 为什么二次过滤
- 捕获文件包含底层TCP握手(SYN/ACK)、TLS协商等噪音,需要精确定位HTTP层
深度解析HTTP
请求包(以GET
为例)
- 找到
GET / HTTP/1.1
数据包,逐层展开分析: - Frame 层(物理帧信息)
- 计算网络延迟(如响应包Arrival Time - 请求包Arrival Time)
1 2 3 |
Arrival Time: Jun 17, 2025 09:35:23.123456 UTC // 精确到微秒的到达时间 Frame Number: 42 // 数据包序列号 Length: 342 bytes (2736 bits) // 帧总长度 |
- Ethernet II 层
- 网络诊断
MAC地址错误会导致数据包无法离开本机网络
- 网络诊断
1 2 3 |
Destination: 00:1a:2b:3c:4d:5e // 目标MAC(通常是网关) Source: a0:b1:c2:d3:e4:f5 // 本机MAC Type: IPv4 (0x0800) // 上层协议类型 |
- IP层
- 关键用途
TTL值异常减小 → 存在路由循环故障
- 关键用途
1 2 3 4 |
Version: 4 // IPv4协议 Src: 192.168.1.101 // 本机内网IP Dst: 54.175.219.8 // neverssl.com服务器IP TTL: 128 // 生存时间(每经路由器减1) |
- TCP 层
- PSH+ACK 标志组合是触发HTTP应用层解析的关键信号
1 2 3 4 5 6 |
Src Port: 53924 // 系统随机分配的客户端端口 Dst Port: 80 // HTTP标准端口 Sequence number: 100 // 数据流位置标识 Acknowledgment number: 200 // 确认接收位置 Window size: 8192 // 接收窗口大小(流量控制) Flags: [PSH, ACK] // PSH=立即推送数据给应用层 |
- HTTP 层
- 恶意爬虫的User-Aent通常包含
Python-urllib/3.10
等特征值
- 恶意爬虫的User-Aent通常包含
1 2 3 4 5 |
GET / HTTP/1.1\r\n // 请求行 Host: neverssl.com\r\n // 虚拟主机标识 User-Agent: Mozilla/5.0...\r\n // 客户端浏览器指纹 Accept: text/html,application/xhtml+xml\r\n // 可接受内容类型 Connection: keep-alive\r\n // 保持TCP连接复用 |
解析HTTP响应包(200 OK)
- 找到对应请求的响应包:
- 查看响应体HTML
- 右键数据包 →
Follow
→HTTP Stream
1 |
HTTP/1.1 200 OK\r\n // 状态行 |
- 状态码
代码 | 含义 | 抓包特征 |
200 | 成功 | 直接显示HTML |
301 | 永久重定向 | Location字段+空响应体 |
404 | 未找到 | Content-Length通常很小 |
- 请求头
1 2 3 4 5 |
Server: nginx/1.18.0\r\n // Web服务器类型 Content-Type: text/html\r\n // 响应体格式 Content-Length: 1234\r\n // 实体大小(字节) Cache-Control: max-age=3600\r\n // 缓存策略 Set-Cookie: session=ABC123; path=/\r\n // 设置会话凭证 |
声明:本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ C++并发编程 _ 共享数据05/16
- ♥ Nginx目录结构10/02
- ♥ Windows Dll自卸载相关10/19
- ♥ 写作相关08/30
- ♥ 创建型:抽象工厂模式08/26
- ♥ 排序_计数排序05/08