我想通过发送带有错误FCS / CRC的第2层软件包来进行一些测试。 我搜索过scapy / mz / nemesis,但似乎没有人可以玩它。 是否可以在常规的Linux网卡上执行此操作?或者,如果FCS / CRC自动附加硬件,我们无法对其进行任何操作? 我有一些特定的机器来检测所有传入的数据包然后丢弃它们,所以我想测试它是否像那样工作。
答案 0 :(得分:2)
不,你不能,就我对大多数网卡的经验而言。但是,您可以在rx侧禁用自动校验和计算,在缓冲区描述符层处理它并将其置于堆栈。
用Google搜索它。这些人说有趣的东西。看一看。 http://dev.inversepath.com/download/802.3/whitepaper.txt
答案 1 :(得分:0)
是的,你可以。我在这里找到了另一个讨论:How do you send an Ethernet frame with a corrupt FCS? 有一个链接指向一个工作示例(http://markmail.org/thread/eoquixklsjgvvaom)。我已经尝试了它并且它正在工作(在igb和e1000 Eth卡上)。