1
votes

I want to do some testing by sending layer 2 packages with wrong FCS/CRCs. I've searched scapy/mz/nemesis, but it seems none of them could play with it. Is it possible to do this on a regular linux NIC? Or if the FCS/CRC is automatically appended by hardware that we cannot do anything with it? I have some specific machine to detect all incoming packets before dropping them, so I want to test if it does work like that.

2

2 Answers

2
votes

No you cannot, as far as my experience with most NICs go. You can, however, disable automatic checksum calculation at the rx side, manipulate it at the buffer desccriptor layer and give it to stack.

Googled it for you. These guys say intresting things. Take a look. http://dev.inversepath.com/download/802.3/whitepaper.txt

1
votes

Yes you can. I've found another discussion on this here: How do you send an Ethernet frame with a corrupt FCS? There is a link going to a working example (http://markmail.org/thread/eoquixklsjgvvaom). I've tried that and it's working (on igb and e1000 Eth cards).