The problem is that you have the checksum offload installed in your network interface.
This will cause the network card to calculate the checksum, not Windows. WireShark will detect this as incorrect checksums, but in fact it is not.
In the properties of your network interface, if you click [Configure], the [Advanced] tab has the [Check Checksum] item. If you set it to [Disabled], WireShark displays that the checksums are correct.
source share