📄 skbcreate.c
字号:
#include "kernelenv.h"#include "skb_fake.h"struct sk_buff *skbFromArray(const unsigned char *buf, const unsigned int len){ struct sk_buff *skb; skb = talloc(NULL, struct sk_buff); memset(skb, 0, sizeof(*skb)); skb->head=talloc_size(NULL, len+128); memset(skb->head, 0x99, len+128); /* just so that we can tell */ skb->data=skb->head+64; /* leave some head room */ memcpy(skb->data, buf, len); skb->tail=skb->data + len; skb->end=skb->head+len+128; skb->len = len; skb->data_len = 0; skb->protocol = ETH_P_IP; skb->mac_len = 14; skb->mac.raw = skb->data; return skb;}void skb_ethernet_ip_setup(struct sk_buff *skb){ int iphlen; skb->nh.raw = skb_pull(skb, skb->mac_len); iphlen = (skb->nh.iph->ihl<<2); skb->h.raw = skb_pull(skb, iphlen);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -