linux – 如何正确发送路由器广告?
发布时间:2020-12-13 19:19:49 所属栏目:Linux 来源:网络整理
导读:我正在开发没有设备的IPv6 linux设备驱动程序.所以我现在试图用假的路由器广告消息欺骗内核. unsigned char c[] = {0x33,0x33,0x00,0x02,61,0x86,0xdd,//IPv6 type 0x60,//Version,... 0x00,24,//payload length 58,//next header 255,//hop limit 0xfe,0x80
我正在开发没有设备的IPv6
linux设备驱动程序.所以我现在试图用假的路由器广告消息欺骗内核.
unsigned char c[] = {0x33,0x33,0x00,0x02,61,0x86,0xdd,//IPv6 type 0x60,//Version,... 0x00,24,//payload length 58,//next header 255,//hop limit 0xfe,0x80,0xff,0xfe,0x3d,//source 0xff,0x01,//destination 134,//type 0,//code,0x7a,0x2c,//checksum 255,//current hop limit 0x80,//flag 0xff,//reachable timer 0x00,//source link-layer address }; 我试图使用Tcpdump来抓取我发送给内核的这个数据包.我发现内核确实得到了这个数据包. 13:32:59.989851 00:00:00:00:00:3d (oui Ethernet) > 33:33:00:00:00:02 (oui Unknown),ethertype IPv6 (0x86dd),length 78: (hlim 255,next-header ICMPv6 (58) payload length: 24) fe80::200:ff:fe00:3d > ip6-allnodes: [icmp6 sum ok] ICMP6,router advertisement,length 24 hop limit 255,Flags [managed],pref medium,router lifetime 65535s,reachable time 0s,retrans time 0s source link-address option (1),length 8 (1): 00:00:00:00:00:3d 0x0000: 0000 0000 003d 但之后我使用ip -6 neigh来检查内核是否在邻居表中有假节点.我找不到它了. 我的问题是什么?任何的想法? 解决方法
为什么假冒路由器广告?
在你的情况下我会做的是将第二个Linux放在同一个以太网链路上(如果你没有物理设置,在VMWare或任何其他虚拟环境中),在第二个Linux上安装radvd,并让radvd发送路由器广告链接. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |