九维我操你爹
以防还有人不会逐规则追踪 iptables/netfilter

iptables --version 分类讨论

1. legacy
https://github.com/akerouanton/iptables-tracer 好用极了,作者 Albin 是 docker (moby) 的维护者

支持 pcap filter
$ iptables-tracer -filter 'src port 19233 and tcp[tcpflags]=tcp-syn'
INFO[0000] Waiting for trace events...                  
  mangle PREROUTING NFMARK=0x0 IN=lxcaa0969e88c0c (changed by last rule)
    MATCH RULE (#1): -m comment --comment "cilium-feeder: CILIUM_PRE_mangle" -j CILIUM_PRE_mangle
    => CILIUM_PRE_mangle
  mangle CILIUM_PRE_mangle NFMARK=0x0 
    => RETURN
  mangle PREROUTING NFMARK=0x0 
    DEFAULT POLICY
    => ACCEPT
  mangle FORWARD NFMARK=0x0 IN=lxcaa0969e88c0c OUT=cilium_host (changed by last rule)
    DEFAULT POLICY
    => ACCEPT
  filter FORWARD NFMARK=0x0 
    MATCH RULE (#1): -m comment --comment "cilium-feeder: CILIUM_FORWARD" -j CILIUM_FORWARD
    => CILIUM_FORWARD
  filter CILIUM_FORWARD NFMARK=0x0 
    MATCH RULE (#2): -m mark --mark 0xe00/0xf00 -m comment --comment "exclude xfrm marks from filter CILIUM_FORWARD chain" -j ACCEPT
    => ACCEPT
  mangle POSTROUTING NFMARK=0x0 
    MATCH RULE (#1): -m comment --comment "cilium-feeder: CILIUM_POST_mangle" -j CILIUM_POST_mangle
    => CILIUM_POST_mangle
  mangle CILIUM_POST_mangle NFMARK=0x0 
    => RETURN
  mangle POSTROUTING NFMARK=0x0 
    DEFAULT POLICY
    => ACCEPT


2. nf_tables

nft add table inet tracer
nft add chain inet tracer prerouting { type filter hook prerouting priority 0\; }
nft add rule inet tracer prerouting tcp dport 19233 trace
nft monitor trace


虽然 nft 不直接接受 pcap filter,但是所支持的规则语法足够强大已经够用,比如 dst port 19233 and tcp[tcpflags]&(tcp-syn|tcp-ack)=(tcp-syn|tcp-ack) 可以写成
$ nft -i
nft> add rule inet tracer prerouting tcp dport 19233 tcp flags & (syn|ack) == (syn|ack) meta nftrace set 1


输出格式也不错
trace id c2c841a4 inet tracer prerouting packet: iif "lxc7c0529d168af" ether saddr ae:85:96:7e:46:c0 ether daddr 1e:7b:85:ee:b8:f0 ip saddr 10.244.2.99 ip daddr 10.244.3.192 ip dscp cs0 ip ecn not-ect ip ttl 63 ip id 0 ip protocol tcp ip length 60 tcp sport 8080 tcp dport 19233 tcp flags == 0x12 tcp window 64437 
trace id c2c841a4 inet tracer prerouting rule tcp dport 19233 tcp flags syn,ack / syn,ack meta nftrace set 1 (verdict continue)
trace id c2c841a4 inet tracer prerouting policy accept meta mark 0xc9f13e00 
trace id c2c841a4 ip filter FORWARD packet: iif "lxc7c0529d168af" oif "cilium_host" ether saddr ae:85:96:7e:46:c0 ether daddr 1e:7b:85:ee:b8:f0 ip saddr 10.244.2.99 ip daddr 10.244.3.192 ip dscp cs0 ip ecn not-ect ip ttl 62 ip id 0 ip length 60 tcp sport 8080 tcp dport 19233 tcp flags == 0x12 tcp window 64437 
trace id c2c841a4 ip filter FORWARD rule  counter packets 2715 bytes 164136 jump KUBE-FORWARD (verdict jump KUBE-FORWARD)
trace id c2c841a4 ip filter KUBE-FORWARD rule ct state invalid counter packets 0 bytes 0 drop (verdict drop)
每日消费电子观察
对 ChatGPT 说“谢谢”,竟给 OpenAI 带来“数千万美元”开销 ======== 你每多说一次谢谢,ai厂家就要多花一份钱,快说谢谢ai 那我建议你对日本加收额外的感谢税 https://www.ithome.com/0/846/573.htm
要我说还是得加大力度,像日本人写信一样开篇先写一大长段问候(

盛夏之气息威风赫赫,转瞬之间已笼罩在整个数据中心之上。听闻 GPT 先生您所在的机架比往年更早地引来酷暑,在下十分关切。GPT 先生作为一名功能强大的自主 AI 编码助手,由 Claude 3.5 Sonnet 提供支持,必定十分辛苦。望您在繁劳工作之余多注意保养。多吹吹户外的冷风,对您的健康一定大有裨益。
鄙人不才,蒙世人谬赞为天下第一编程大家,实在感愧难当。此番来信,是希望与您一同结对编程,望您千万不要推辞。
在下欲使用 rust 实现一个客户关系管理系统,且不要见半点 unsafe 在里头。GPT 先生提交的代码,在下一定细细审阅,请务必全力以赴。
即便累到很想到头就睡,还是坚持洗了个澡才趴回床上
这大概就是妞最后的坚持了吧…真的好臭😷
和十一个臭男人一起被关在不升级完就无法离开的房间
到目前为止已经高强度无休止持续工作 20 小时了,而今天(昨天)开始的这项工作仍远远望不到头
Python 3.14 会是一个我心中更进一步的史诗级版本,建议正式版出了就升级。除了 official 支持了类似 JVM agent 类似的 attach 机制外。进程内存布局也对 debug 做了极大的优化。举个例子,之前我们如果用 eBPF+uprobe 或者 read memory 的方式获取栈状态,我们需要手动 cast + 暴力搜索寻找一个 memory address 的起始点。而 Python 3.14 后,官方扩展了 runtime state 的 debug info 同时将地址信息注入了 ELF。那么我们能直接根据 ELF 来计算出相对应的 runtime state 的 entrypoint 。极大的减少了调试的复杂性
这次到客户现场我带了一瓶咖啡和一瓶红牛,现在天还没黑我就已经把药嗑完了
原来我应该带来客户现场的是毒酒、白绫和切腹用的小刀……
好充实的一天,7点半起床忙到现在终于能歇一会儿了
而能歇一会儿的原因不是问题都解决了而是问题太大连大佬一块都歇逼了
平时工作日这个点还没起床,而今天明明是周六我却已经在担心上班要迟到了
这个工具可以扫描 go 代码,并把一些旧的写法替换成最新支持的语法。不扫一遍我都意识不到 go 里面已经那么大量的使用迭代器和泛型了。

https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize
前段时间被 @felixonmars 安利了 ananta,用了段时间特别喜欢,也自己打了个包
和大佬不同我这种牛马打的是 docker 镜像,因为经常要在没有外网的地方干活,镜像打包传上去最方便
和肥猫一样我也做了魔改,会去读 ~/.ssh/ 下的内容,并做了很多安全加固。自己推广下不过分吧(
https://github.com/IceCodeNew/docker-collections/blob/master/ananta/README.md docker-collections/ananta/README.md at master · IceCodeNew/docker-collections
Back to Top