libnet如何构造vlan的层?有没有类似libnet_build_vlan这样的功能函数


tag = libnet_build_ipv4(
LIBNET_TCP_H + LIBNET_IPV4_H + nLen ,
0,
12345,
0,
64,
IPPROTO_TCP,
0,
nDstIp, //pIpHeader->ip_destination_address,
nSrcIp, //pIpHeader->ip_source_address,
0,
0,
m_pLinkLibnet,
0);

//noip
tag = libnet_autobuild_ethernet(
g_pSystemConfig->getNextHopMac(), //g_CommonPath.next_hop_ether_dhost,
ETHERTYPE_IP,
m_pLinkLibnet);


上面的代码中在交换机使用了vlan划分后,消息发送不出去,据抓包来看,应该是少了一层 Virtual LAN,下图是正常流程所走的带Virtual LAN层的消息


如果我用libnet,使用上面的代码来发送数据包,那么抓包如下图所示



但我找了一下libnet里面的函数,没有找到生成vlan包的函数,类似libnet_build_vlan这样的函数


请问一下各位,假如要生成vlan层,要如何做呢?或者是如何设置一下呢?

...全文
377 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复

23,127

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧