windowsTCP/UDP/ICMP校验和计算c代码
时间: 2023-05-17 15:02:30 浏览: 287
IP/UDP/TCP/ICMP的校验和
5星 · 资源好评率100%
以下是计算TCP/UDP/ICMP校验和的C代码:
unsigned short checksum(unsigned short *buf, int nwords)
{
unsigned long sum;
for(sum=0; nwords>0; nwords--)
sum += *buf++;
sum = (sum >> 16) + (sum &0xffff);
sum += (sum >> 16);
return (unsigned short)(~sum);
}
该函数接受一个指向数据缓冲区的指针和缓冲区中的字数。它使用标准的Internet校验和算法来计算校验和,并返回结果。
阅读全文