我在使用 tcpreplay 和 hostapd 时遇到了问题,我的场景如下:客户端连接到服务器172.24.1.91/OPEN
并/CLOSE
处理对服务器的 GET 请求,该服务器点亮或熄灭 LED。我制作了一个 Java 客户端,每秒执行一次/OPEN
和/CLOSE
请求,它完全正常工作。我使用以下方式嗅探获取请求tcpdump
:
sudo tcpdump -i wlan0 host 172.24.1.1 -w test.pcap
运行客户端后我使用tcpreplay
:
sudo tcpreplay -i wlan0 test.pcap
但我的 LED 在运行时不闪烁。它工作了一次,然后就停止了,我不知道为什么。
答案1
无线接口与普通以太网接口不同 - 通常您无法对它们使用 tcpreplay,因为驱动程序不支持注入原始帧。并且在允许原始帧的情况下,驱动程序可能会进行额外的健全性检查,以确保帧应从该接口发送出去(例如验证 MAC 地址)。
此外,当 NIC 使用原始接口发送帧时,LED 可能会亮也可能不会亮,因此这可能不是一种好的调试方法。