准备网络数据包分析的考试,很多人一开始都以为就是背几个协议字段就完事了。其实真到做题时才发现,题目往往藏在那些看似平常的数据流里。比如给你一段抓包文件,问你为什么某个连接迟迟建立不起来,或者哪个请求触发了防火墙告警。这类题考的不是死记硬背,而是你能不能从一堆十六进制数据中看出“不对劲”的地方。
TCP三次握手异常是高频题
常见的题目会给出一个Wireshark截图或pcap文件链接,让你判断连接是否成功。比如只看到SYN和SYN-ACK,但没有最后的ACK,这就是典型的“半开连接”,可能是客户端崩溃,也可能是被安全设备拦截。考试中如果看到重传特别多的SYN包,基本可以断定网络不通或目标端口过滤了。
HTTP请求里的隐藏线索
有时候题目会伪装成“网页打不开”,然后给你一个包含DNS、TCP、HTTP交互的完整流程。这时候要一步步捋:先看DNS有没有返回正确IP,再看TCP能不能通80或443,最后检查HTTP请求头有没有问题。比如Host字段写错、User-Agent被服务器拒绝,甚至Content-Length不匹配导致服务端等待超时,都是出题人喜欢埋的坑。
用过滤器快速定位问题
考试环境通常允许使用Wireshark,掌握显示过滤器能省下大量时间。比如只看HTTP流量就输入 http,查某台主机的通信就用 ip.src == 192.168.1.100 or ip.dst == 192.168.1.100。遇到UDP丢包题,可以用 udp.port == 53 单独看DNS查询是否正常响应。
http.request.method == "POST" && http contains "login"
这条过滤语句能帮你快速找出所有登录提交请求,在分析认证失败类题目时特别实用。
识别ARP欺骗的小技巧
局域网内突然有人上不了网,抓包发现ARP响应频繁出现,而且同一个MAC地址在冒充多个IP。这种题目的关键点在于对比正常的ARP表。比如原本网关IP应绑定唯一MAC,结果你在包里看到两个不同源MAC都在宣告自己是网关,那基本就是ARP欺骗攻击了。
ICMP也能出难题
别小看ping相关的包。有道经典题是:A能ping通B,但B无法ping通A。抓包发现B发出的Echo Request到达了A,但A没回Reply。这时候就要检查A主机是否禁用了ICMP响应,比如Windows防火墙默认设置或Linux下的 echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 这类配置。
实际考试中,还会结合时间戳分析延迟,比如TCP重传间隔是不是符合指数退避规律,或者TLS握手过程中ClientHello之后迟迟收不到ServerHello,到底是网络阻塞还是服务端崩了。这些都需要你对协议行为有“感觉”,就像老司机听发动机声音就知道哪不对劲一样。