Рю контроллер отбрасывает пакеты после фиксированного количества пакетов или времени - PullRequest
1 голос
/ 16 марта 2020

Я пытаюсь заблокировать tcp-пакеты определенного c пользователя / сеанса после достижения определенного порога. В настоящее время я могу написать скрипт, который отбрасывает tcp пакеты.

@set_ev_cls(ofp_event.EventOFPSwitchFeatures, CONFIG_DISPATCHER)
    def switch_features_handler(self, ev):
        tcp_match = self.drop_tcp_packets_to_specfic_ip(parser)
        self.add_flow_for_clear(datapath, 2, tcp_match)

    def drop_tcp_packets_to_specfic_ip(self, parser):
        tcp_match = parser.OFPMatch(eth_type=0x0800, ip_proto=6, ipv4_src=conpot_ip)
        return tcp_match

Спасибо.

1 Ответ

1 голос
/ 20 марта 2020

Вам необходимо установить какое-то правило, соответствующее потоку пакетов. После этого вам нужно создать l oop, чтобы получить статистику об этом правиле. Наконец, вы читаете каждую статистику c и проверяете количество пакетов. Итак, если количество пакетов достигает вашего порога, вы отправляете правило для блокировки пакетов.

...