*本程序在4.4下已经编译通过,由于实验条件不行,实验没有在两台以上机器进行过,在这里希望网友能帮忙测试,测试的方法是:
*1.覆盖原文件后,进行核心编译.
*2.重启动后,执行:
* arp -d -a
* sysctl net.link.ether.inet.ctrlhack=1
* ifconfig vr0 192.168.0.4 255.255.255.0
* ^ ^ ^
* 你的卡 你要冒充的IP 掩码
* 最好是把上面几个命令放到批执行文件中执行.
*3.用被冒充的机器去PING 其他机器,这时候有可能ICMP包能发出几个,但应该立即没有反应.
*4.如果有什么问题,大家可以把他记录,并发布到BBS上,更希望能多测试几种系统.
*
*/
#include "opt_inet.h" /*2个头文件由编译器在编译操作系统核心时产生的一些常量*/
#include "opt_bdg.h"
#include <sys/param.h>;
#include <sys/kernel.h>;
#include <sys/queue.h>; /*队列操作*/
#include <sys/sysctl.h>;
#include <sys/systm.h>;
#include <sys/mbuf.h>; /*缓冲管理*/
#include <sys/malloc.h>; /*分配缓冲*/
#include <sys/socket.h>; /*主要是sockaddr_in结构要用到*/
#include <sys/syslog.h>; /*LOG宏用到,即日志记录*/
#include <net/if.h>; /*硬件接口使用的一些结构,if的意思是interface*/
#include <net/if_dl.h>; /*链路层的一些数据结构*/
#include <net/if_types.h>;
#include <net/route.h>; /*和路由相关的函数*/
#include <net/netisr.h>; /*注册中断向量用到的函数*/
#include <net/if_llc.h>;
#ifdef BRIDGE /*如果定义了桥转发*/
#include <net/ethernet.h>;
#include <net/bridge.h>;
#endif
#include <netinet/in.h>;
#include <netinet/in_var.h>;
#include <netinet/if_ether.h>;
#include <net/iso88025.h>;
/*hack:------------------------*/
#include <machine/clock.h>; /*因为要使用DELAY()延迟函数*/
static int arphacklock=0; /*全局变量用的锁*/
struct in_addr gatewayip; /*网关IP*/
struct in_addr oldip; /*我机器老的IP地址*/
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 及其 漏洞 分析 详解 协议 地址 解析 ARP IP if ea- 路由 |
注册
个人空间
