コード例 #1
0
ファイル: block_snort.py プロジェクト: JustinAzoff/ipblocker
 def get_records_for_rule(self, snort, rule):
     records = []
     alerts = snort.find(sig=rule['rule'])
     by_src = groupby(alerts, itemgetter("ip_src"))
     for ip, alerts in by_src:
         ip = str(ip)
         alerts = list(alerts)
         if is_reblockable(ip) or is_fishy(ip) or (len(alerts) >= rule['minimum'] and num_subnets(alerts) >= rule['subnet_minimum']):
             records.append(dict(ip=ip, alerts=alerts, rule=rule))
     return records
コード例 #2
0
 def get_records_for_rule(self, snort, rule):
     records = []
     alerts = snort.find(sig=rule['rule'])
     by_src = groupby(alerts, itemgetter("ip_src"))
     for ip, alerts in by_src:
         ip = str(ip)
         alerts = list(alerts)
         if is_reblockable(ip) or is_fishy(ip) or (
                 len(alerts) >= rule['minimum']
                 and num_subnets(alerts) >= rule['subnet_minimum']):
             records.append(dict(ip=ip, alerts=alerts, rule=rule))
     return records
コード例 #3
0
ファイル: block_snort.py プロジェクト: JustinAzoff/ipblocker
def num_subnets(alerts):
    by_dst = groupby(alerts, lambda a: subnet(a['ip_dst']))
    return len(list(by_dst))
コード例 #4
0
def num_subnets(alerts):
    by_dst = groupby(alerts, lambda a: subnet(a['ip_dst']))
    return len(list(by_dst))