当我尝试下面的代码并使用"tcpdump -teni h32-eth0"进行检查时,因为我在 host32 上受到攻击,但数据包的长度一直为 0,我想丢弃传入的数据包,有人可以帮忙吗?
def _timer_func ((: 全局词典 全球set_Timer
if set_Timer==True:
for k,v in diction.iteritems():
print "Switch ID : "+str(k)
#print "nilai v : "+str(v)
#print "v iteritems : "+str(v.iteritems)
for i,j in v.iteritems():
print "Port Number : "+str(i)
#print "nilai j : "+str(j)
if j >=5:
print "_____________________________________________________________________________________________"
print "n DDOS DETECTED n"
print "n",str(diction)
print "n",datetime.datetime.now(),": BLOCKED PORT NUMBER : ", str(i), " OF SWITCH ID: ", str(k)
print "n___________________________________________________________________________________________"
#os._exit(0)
dpid = k
msg = of.ofp_packet_out(in_port=i) #drop paket
print msg
core.openflow.sendToDPID(dpid,msg)
diction={}
我认为您发送到交换机的消息中缺少数据包的缓冲区ID或数据包本身。请注意,您正在丢弃一个数据包。它不会阻止通过该内端口到达的更多数据包。如果要阻止该端口内或更好的此流,则应安装流匹配规则,该规则将丢弃所有匹配的数据包。