Is there any reason why the TCP checksum validation would be disabled. I believe I spotted a host communicating to a CnC server then being redirected to another potential drive by download site.
The TCP validation disabled checksum is for incoming traffic from the potential CnC server.
asked 09 Feb '11, 02:26
Yes. The reason is that Wireshark is very often used to capture the network frames of the same PC that is running Wireshark. This usually results in the checksums of outgoing frames being incorrect since they are only calculated for transmission by the network card after they were already recorded by Wireshark. To avoid constant "checksum error" messages it was decided to have the checksum validation disabled by default.
It may sound stupid to disabled checkum validation since we want to find damaged packets with Wireshark when tracking down errors. But the fact is that frames with damaged checksums won't survive much long anyway since every switch or router will probably drop them for being defective - and still, if the frame makes it to your network card it will still drop it before Wireshark even sees it. This is the reason why some commercial sniffers have specialized NIC drivers for certain cards that will allow capturing damaged frames with them.
answered 09 Feb '11, 03:12
Although Jasper answered "Why are TCP checksums disabled by default" perfectly, I believe your question might not have been answered. Or maybe I just got confused.
I believe your question is how to detect if someone spoofed another host and hijacked your session? Well, this is not the purpose of TCP checksums. It is also not so easy to detect, as it can be done at several levels.
I'm curious though, were you able to spot this by enabling TCP checksum checking? And how?
answered 09 Feb '11, 13:07