예제 #1
0
 def __translate_protocol(self, value):
     if value.lower() == 'tcp':
         return (Service.protocol == Protocol.TCP)
     elif value.lower() == 'udp':
         return (Service.protocol == Protocol.UDP)
     else:
         raise FilterException(
             '{value} invalid protocol'.format(value=value))
예제 #2
0
 def __translate_up(self, value):
     """Translate up status into filter"""
     if type(value) is bool:
         val = value
     elif type(value) is str:
         val = (value.lower() == 'true')
     else:
         raise FilterException(
             '{value} invalid up status'.format(value=value))
     return (Service.up == val)
예제 #3
0
 def __translate_ip(self, value):
     """
     Translate IP address or IP range into Sqlalchemy filter.
     Range must be in CIDR format, e.g. 1.1.1.1/24
     """
     if NetUtils.is_valid_ip(value):
         return (Host.ip == value)
     elif NetUtils.is_valid_ip_range(value):
         return (Host.is_in_ip_range(value))
     else:
         raise FilterException(
             '{value} invalid IP/range'.format(value=value))
예제 #4
0
 def __translate_port(self, value):
     """
     Translate port number or ports range into Sqlalchemy filter.
     Ports range in format: 8000-9000
     """
     if NetUtils.is_valid_port(value):
         return (Service.port == int(value))
     elif NetUtils.is_valid_port_range(value):
         minport, maxport = value.split('-')
         return (Sevrice.port.between(int(minport), int(maxport)))
     else:
         raise FilterException(
             '{value} invalid port/range'.format(value=value))
예제 #5
0
 def __translate_ip(self, value):
     """
     value can be:
         - Single IP
         - IP range - format: 1.1.1.1/24
     """
     if NetUtils.is_valid_ip(value):
         return (Host.ip == value)
     elif NetUtils.is_valid_ip_range(value):
         return (Host.is_in_ip_range(value))
     else:
         raise FilterException(
             '{value} invalid IP/range'.format(value=value))
예제 #6
0
 def __translate_port(self, value):
     """
     value can be:
         - Single port number
         - Port range - format 8000-8100
     """
     if NetUtils.is_valid_port(value):
         return (Service.port == int(value))
     elif NetUtils.is_valid_port_range(value):
         minport, maxport = value.split('-')
         return (Service.port.between(int(minport), int(maxport)))
     else:
         raise FilterException(
             '{value} invalid port/range'.format(value=value))