Packet Checksum Recalculation

This afternoon, I was just going to demonstrate my packet modifying program to the customer, when I found that transport layer checksum values of all TCP/UDP packets were incorrect.
I was upset. Why didn’t I find out this error earlier?
I had to cancel the demonstration and start thinking about packet checksum recalculation when parts of a packet is modified.

As I saw in Wireshark, all UDP and TCP checksum fields were incorrect, while all IPv4 checksum fields were correct.
That’s because I only modified TCP/UDP payload data. I didn’t modify any data in IPv4 headers.

So I only have to implement the transport layer checksum calculation.
Fortunately, I’ve written many code pieces on this in both C and Java in different projects. I can easily found them and do some copy and paste jobs.

Another things I want to make clear is the IPv4 header checksum, though there’s no error now.
From IPv4 - Wikipedia and IPv4 header checksum - Wikiped

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值