xdp-bpf - XDP:缺少 TCP 数据?
问题描述
我正在尝试观察 HTTP 有效负载,但似乎除了 TCP 标头之外什么都没有。
代码片段:
struct tcphdr *tcph = data + eth_offset + sizeof(*iph);
if (tcph + 1 > data_end) {
return XDP_PASS;
}
tcp_header_length = tcph->doff << 2;
unsigned char *payload = (unsigned char *)tcph + tcp_header_length;
if ((void *)payload + 1 > data_end) {
return XDP_DROP; <-- is always true
}
似乎无论出于何种原因都没有任何数据,这是不正确的;从接口中分离代码并发送HTTP请求就可以了(包含http数据)
任何提示都非常感谢。
谢谢!
解决方案
推荐阅读
- laravel - Lumen/Laravel 从 Http Header 获取参数值
- python-3.x - 在数组中创建一组随机数字,而同一数字连续重复三次
- python - 输入 [] 出错:findDistance() 接受 0 个位置参数,但给出了 1 个
- reactjs - 强制在方法中重复变量
- database - 仅出现在功能依赖关系的 RHS 上的属性可以是主要属性吗?
- php - PHP - 我在下载高文件时遇到问题
- react-native - 做某事后如何插入服务器
- python - 错误,因为字节无法编码?
- c++ - 使用给定的参数信息创建一个新节点并添加一个新节点
- elixir - 在 Elixir 中将孩子添加到动态主管