
使用wireshark抓包,提取出一个IP包头,用于测试计算IP check sum 结果:
char ip_header[] = {0x45, 0x00, 0x00, 0x28, 0x36, 0x59, 0x40, 0x00, 0x40, 0x06,
0x00, 0x00, 0xc0, 0xa8, 0x50, 0x80, 0xcb, 0xd0, 0x28, 0x22};将check sum 设置为0x00,0x00.
使用lscup查看系统的字节序:
$ lscpu
Architecture: x86_64
CPU 运行模式: 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
每个核的线程数:1
每个座的核数: 1
Socket(s): 2
NUMA 节点: 1
厂商 ID: GenuineIntel
CPU 系列: 6
型号: 60
Model name: Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz
步进: 3
CPU MHz: 3292.410
BogoMIPS: 6584.82
超管理器厂商: VMware
虚拟化类型: 完全
L1d 缓存: 32K
L1i 缓存: 32K
L2 缓存: 256K
L3 缓存: 6144K
NUMA node0 CPU(s): 0,1
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault invpcid_single pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid xsaveopt arat
“Byte Ord

本文介绍了一种在小端系统中使用Wireshark抓取IP包头并计算Checksum的方法,展示了三种不同的Checksum算法实现,包括lwip_standard_chksum_v1、v2和v3,并比较了它们的计算结果。
最低0.47元/天 解锁文章

2530

被折叠的 条评论
为什么被折叠?



