ipv4 체크섬 계산 어디서잘못됫나요??
돋되다
2024.02.18
USHORT checksum(USHORT *buffer, int size)
{
unsigned long cksum=0;
while(size 1)
{
cksum+=*buffer++;
size -= 2;//sizeof(USHORT);
}
if(size)
cksum += *(UCHAR*)buffer;
cksum = (cksum 16) + (cksum &0xffff);
cksum += (cksum 16);
return (USHORT)(~cksum);
} 이렇게 하면 패킷은 보내지는데 와이어샤크로 보면 체크섬 계산이 false로 나오네요..머가 문제인가욤?? 계산식이 잘못됫나요?