在NS2-3.34中添加黑洞攻击的过程还是比较简单的,具体过程大致如下描述:
1. 首先我们在aodv/aodv.h中的AODV类中添加一个标志该Agent(该节点是blackhole的标志)
2.修改aodv/aodv.cc以实现blackhole 攻击
首先是在command 中定义相应的TCL “blackhole”
接下来根据AODV协议和blackhole attack 的特点,我们实现blackhole attack的攻击过程(具体的攻击手段就是
在接收到某个节点发来的路由请求后,黑洞攻击节点不是查看路由表是否由到达目的节点的路由,从而转发或回复一个RREP。
取而代之的是,在它接收到一个RREQ后,立即回复一个RREP路由回复包,说他有到达目的节点的最优路径。而且当黑洞攻击节点
接收到数据包时,全部丢掉,从而形成一个像黑洞一样的攻击,数据包只进不出。具体详细关于黑洞攻击请google了解):
修改aodv.cc 中的recvRequest(Packet *p)函数: