我正在使用 eBPF 和 BCC 打印出我收到的数据包的 IP 地址。
对于内核,我编写了一个从 ip_t -> dst 打印出来的代码;我认为它是目的地的地址。
对于用户空间,我编写了一个代码来从字节码中打印出用户地址。
我已经用其他变量检查了很多次,看看我的程序是否向我显示了数据包头中存储的正确数据值,并且除了地址之外它都运行良好。
因此,对于用户级别,我得到:目标 ip 地址 = 203.237.53.121
这是我给服务器的静态 IP 地址。
但是,当我打印出 ip_t -> dst 时,我得到:3421320703
我不明白为什么他们会有不同的输出。
我正在尝试最终构建一个程序,我的目标是仅从特定的发件人 IP 地址等获取数据包。
如果有人可以帮助我,那就太好了。
谢谢 :)