-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
checksum 问题 #38
Comments
https://github.com/facebookincubator/katran/blob/main/katran/lib/bpf/csum_helpers.h https://github.com/tklauser/cilium/blob/main/bpf/lib/csum.h |
代码类似,udp正常,tcp不正常,是不是大概率是checksum的问题呢?有没有什么调试方法能够判断?因为目前只看到tcp不正常也不知道是不是sum的问题 |
找到方法了,用tcpdump -ev参数可以看到 sum incorrect,用了网上各种csum函数都不行,头疼 |
一般情况下csum错了,不影响tcp通讯。 |
大佬方便加个好友吗?我刚开始学ebpf,想请教您一些问题 |
起码为社区做一些贡献吧。 比如 gojue/ecapture#413 (review) 这里的同学。 😂 |
我再学学。。。刚接触 |
等我解决这个问题我可以在这个项目试试写些example |
我已经把check sum都算对了,tcp本机端口转发还是失败,但是转发到其他机器可以,不是checksum的问题 只要是转发到本机,握手包只有syn,没有ack,不知道为什么 |
我是看了大佬你的这篇文章,参考了过防火墙的那部分技术,但是我无法复现 |
找到原因了,TC改egress和ingress确实可以。我之前XDP本机改了无效的原因也找到了,因为收包的 tcp->dest 改变了,发包的时候要把 tcp->source 改回来才行,这样看XDP确实无法实现本机端口转发? |
那大佬的文章写的例子是怎么办到的- - |
有一定的攻击性,不方便公开细节。 已经公开部分也有一定模糊。仅提供思路。 |
公众号里给我发个消息。 |
你好,请教一下是怎么计算的checksum,我也试了好多方法,结果都是bpf 校验器过不了 |
从网上搜得到很多算checksum的。我有点忘记了,我当时的问题不是checksum的问题,好像checksum算错也是可以通信的,好像奥 |
我写了一个xdp的程序,修改了端口信息,发现UDP包可以正常使用,但是TCP无法使用
根据搜索了解可能是sum没有校验通过的问题?
bpf_helpers.h 内并没有ipv4_csum类似的函数,从网上找了很多其他人写的代码,也无法使用
大佬可以请教一下这个问题怎么解决吗?是不是checksum的问题?
The text was updated successfully, but these errors were encountered: