包含 Keritial。如果你看到了不符合你印象中的 Keritial 的有关 Keritial 的内容,那么这个有关 Keritial 内容与 Keritial 无关。
我去,我才知道 ip(8) 有个 -j 可以输出 json 格式,比如获取一个网络接口的二层地址,我之前一直是
$ s ip -n node2 -br l sh nsim1 | awk '{print $3}'
72:b2:7a:99:fe:f4

用 -j | jq 心里有底气得多:
$ s ip -n node2 -j l sh nsim1 | jq -r '.[0].address'
72:b2:7a:99:fe:f4

从此再也不内耗了,再让我看到 awk/grep/sed 切字符串我直接使用纵欲卡🤬
开始吹 bpfsnoop (https://github.com/bpfsnoop/bpfsnoop),我至少会在三个场景使用它

1. disas kernel

之前我都是用 gdb -ex 'x/100i 0x'$(ksym skb_gso_validate_network_len) -ex q vmlinux /proc/kcore 这种蹩脚的方式去看汇编;若是 bpf prog 会用 bpftool p d 。但前者要手算 call 的目标函数,后者又长期有 bug (https://github.com/libbpf/bpftool/issues/109)。

但是以后我会用
bpfsnoop -d -k ip_rcv


bpfsnoop -d -p n:cil_to_overlay

来代替 gdb。输出非常好(图一),有颜色,有行号,有正确的 call 指令解析。

2. 用 --output-arg --filter-arg --filter-pkt 做 skb 观测

之前讨论过一个 nf postrouting 不会两次处理同一个 skb 的问题,本质是要观测 skb->_nfct 在生命期内的变化,用 bpfsnoop 可以一步到位:
bpfsnoop --filter-pkt 'icmp and dst host 10.244.2.2'  -t '*:(struct sk_buff *)skb' --output-pkt --output-arg 'skb->_nfct' 

虽然目前还不支持更复杂的操作,比如想观测 skb_sec_path(skb) 则需要写成 --output-arg 'skb->extensions->offset[1] << 3' 然而并不支持,但大部分简单的场景够用了。

3. 用 --output-lbr 观测 bpf prog

bpf prog 自身的观测性一直比较恶心,用 lbr 和 kprobe on bpf helpers 是目前为止我所知的唯二办法,而 bpfsnoop 是唯一实现了前者工程化的工具。(其实两者结合才是最吼的)

比如排查 https://github.com/cilium/cilium/issues/35023 的时候需要找到 bpf 运行的提前返回点,可以先无脑观测 bpf prog 退出时的 lbr
bpfsnoop -p i:7963 --output-lbr --filter-pkt 'dst host 1.1.1.1 and tcp[tcpflags]=tcp-syn' -m exit

然后再根据结果往上以 bpf helper 为节点回溯
bpfsnoop -k bpf_skb_event_output --output-lbr --filter-pkt 'dst host 1.1.1.1 and tcp[tcpflags]=tcp-syn' -m entry

最终定位代码执行流
请问你的后端是那个在阿里云学生优惠服务器安装 CentOS 7 用 final shell 连上跑 Docker 再下载现成的docker-compose.yml用 docker compose up -d 运行监听 0.0.0.0:2333 装个宝塔面板配置 Nginx 反代的吗
https://r.krtl.top/cdn-cgi/image/w=16,h=16,f=png/@/head.png
ERROR 9523: Internal error. This isn't supposed to happen, please reach out to customer support with error id: 5587a00e-d7a9-481c-83a4-fc91af2e3c76
今天是俺们河南人的节日豫人节,转发这条可以领取井盖一个,靠恁娘太中嘞俺先转了
#新增萌备
萌号: 20250192
站名: Keritial
地址: krtl.top
首页: krtl.top
站长: Keritial
简介: 感觉这个网站到现在只是为了玩Angular
【扬中农商银行】尊敬的特邀客户您好,现在微信支付绑定扬中农商银行圆鼎卡支付1分钱最高抽88元红包,点击链接https://work.weixin.qq.com/be/hio9ojfdsww2wfin添加企业微信参与活动,红包数量有限,先到先得。拒收请回复R。
傻逼交通银行,懒得喷
我操我只是想看机器人的回答,冷不丁突然冒出来一个,你好这里是人工哦
招商银行这个点还上班草
还能给我错误的密码
1. 有效期到底是 7 还是 30 天?
2. cnbj1-fds.api.xiaomi.net 是不存在的,应该是 cnbj1.fds.api.xiaomi.com
Back to Top