我只是看了一眼libnet的介绍,
似乎它提到了对udp、ip的支持,而不是tcp?
它完全支持tcp吗?
看这里,好像有一个和tcp相关的函数,所以我猜是的,你可以用libnet注入tcp段。
int libnet_build_tcp(u_short sport, u_short dport, u_long seq,
u_long ack, u_char control, u_short win, u_short urg,
const u_char *payload, int payload_s, u_char *buf);
libnet_build_tcp() 构建 TCP(传输控制协议)数据包。提供源端口、目标端口、序列号和确认号、控制位(可以通过逻辑或运算来设置多个标志——参见下面的示例)、广告窗口大小、紧急指针、指针到可选的数据有效负载、有效负载大小,最后是指向为数据包预分配的内存块的指针。要构建一个没有数据负载的 TCP 标头,只需要分配 TCP_H 字节。