Как заблокировать пакет в контроллере pox? - PullRequest
0 голосов
/ 05 июля 2018

Когда я пробую этот код ниже и проверяю его, используя "tcpdump -teni h32-eth0", потому что я атаковал host32, но пакеты продолжают приходить с длиной 0, я хочу отбросить входящий пакет, кто-нибудь может помочь?

def _timer_func (): глобальная дикция global 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={}

1 Ответ

0 голосов
/ 06 июля 2018

Я думаю, что вы пропускаете идентификатор буфера пакета или сам пакет в сообщении, которое вы отправляете на коммутатор. Обратите внимание, что вы отбрасываете один пакет. Это не предотвратит дальнейшее поступление пакетов через этот входной порт. Если вы хотите заблокировать этот входной порт или лучше этот поток, вам следует установить правило сопоставления потоков, которое отбросит все соответствующие пакеты.

...