I found that in many cases using a tool like Wireshark will give you the wrong tcp checksums for local packages.
This is due to the fact that the OS reasonably spends no effort filling tcp checksums on packets destined for the local host (in the end, they cannot be incorrect).
In addition, locally generated packets coming out on a real physical interface probably have hardware Tcp checksums. This means that sent packets usually look as if they have the wrong checksums (they will be correct on the wire).
Configure the monitor port on your switch, launch Wireshark in a separate window connected to it, and you will see the true image.
Markr
source share