Linux Netfilter挂载钩子发送简单的UDP报文
1、思路 分配空间--->填充udp、ip、ethernet报文头以及发送数据--->发送构造完成的报文 2、需要明白的接口 alloc_skb 分配skb空间 skb_reserve 在skb头部预留(将数据指针与skb尾指针后移) skb_push 向前移动数据头指针(skb_reserve为这个操作预留空间) skb_reset_transport_header 重置传输层报文头指针(存在偏移与不偏移两种方式) skb_set_transport_header 重置并设置传输层报文头指针 skb_reset_network_header 重置ip层报文头指针 skb_reset_mac_header 重置链路层报文头指针 3、udp发送报文接口实现 #define ICMP 1 #define ETH "eth0" #define S_PORT 9988 #define D_PORT 8899 u_long S_IP = 0xC0A8034D ; // "192.168.3.77" u_long D_IP = 0xC0A80305 ; // "192.168.3.5" unsigned char S_MAC[ETH_ALEN]={ 0x00 , 0x0c , 0x29 , 0x41 , 0x3e , 0x66 }; /* 本地mac地址 */ unsigned char D