Esempio n. 1
0
def discoverSysTableData(client):
    snmpAgent = snmputils.SnmpAgent(None, client)
    queryBuilder = snmputils.SnmpQueryBuilder(BASE_SYSTABLE_OID)
    queryBuilder.addQueryElement(1, 'sysDescr')
    queryBuilder.addQueryElement(2, 'sysObjectID')
    queryBuilder.addQueryElement(4, 'sysContact')
    queryBuilder.addQueryElement(5, 'sysName')
    queryBuilder.addQueryElement(6, 'sysLocation')
    queryBuilder.addQueryElement(7, 'sysServices')
    
    sysTable = snmpAgent.getSnmpData(queryBuilder)
    
    for data in sysTable:
        classVendorOsAndModel = SnmpQueries.getClassVendorOsAndModelByOid(data.sysObjectID, data.sysDescr)
        setattr(data, 'sysClass', classVendorOsAndModel[0])
        setattr(data, 'sysVendor', classVendorOsAndModel[1])
        setattr(data, 'sysOs', classVendorOsAndModel[2])
        setattr(data, 'sysModel', classVendorOsAndModel[3])
        
        match = re.search("Nodename:\s*(\w+)", data.sysDescr)
        setattr(data, 'sysNodeName', None)
        if match:
            setattr(data, 'sysNodeName', match.group(1))
        
        if data.sysServices and (int(data.sysServices) & 2) > 0:
            setattr(data, 'isBridge', 1)
        else:
            setattr(data, 'isBridge', 0)
    if sysTable:
        return sysTable[0]
    else:
        raise ValueError, "Query for System Table returned empty result"
Esempio n. 2
0
def getILOsControllerBySNMP(client):
    snmpAgent = snmputils.SnmpAgent(None, client)

    queryBuilder = snmputils.SnmpQueryBuilder(ILO_CONTROLLER_OID)
    queryBuilder.addQueryElement(21, 'cpqSm2CntlrModel')

    return snmpAgent.getSnmpData(queryBuilder)
Esempio n. 3
0
 def getVServices(self):
     queryBuilder = snmputils.SnmpQueryBuilder(OID_TABLE_VSERVICE)
     queryBuilder.addQueryElement(8, 'vsvrServiceName')
     v_services = self.snmpAgent.getSnmpData(queryBuilder)
     v_service_map = {}
     for service in v_services:
         v_service_map[service.meta_data] = VService(
             service.vsvrServiceName)
     return v_service_map
Esempio n. 4
0
def getDRACTable(client):
    logger.debug("Try to detect DRAC...")
    snmpAgent = snmputils.SnmpAgent(None, client)

    queryBuilder = snmputils.SnmpQueryBuilder(DRAC_CARD_OID)
    queryBuilder.addQueryElement(1, 'bmcChassisIndex')
    queryBuilder.addQueryElement(6, 'bmcDisplayName')
    queryBuilder.addQueryElement(7, 'bmcDescriptionName')

    return snmpAgent.getSnmpData(queryBuilder)
Esempio n. 5
0
def discoverIPv4NetToMediaTable(client):
    snmpAgent = snmputils.SnmpAgent(None, client)

    queryBuilder = snmputils.SnmpQueryBuilder(BASE_ARPTABLE_OID)
    queryBuilder.addQueryElement(2, 'ipNetToMediaPhysAddress','hexa')
    queryBuilder.addQueryElement(3, 'ipNetToMediaNetAddress')
    queryBuilder.addQueryElement(4, 'ipNetToMediaType')

    logger.debug('try to get ARP table for IPv4 by RFC 2465.')
    return snmpAgent.getSnmpData(queryBuilder)
Esempio n. 6
0
def discoverIPv6AddressTable(client):
    queryBuilder = snmputils.SnmpQueryBuilder(BASE_IPV6_IP_TABLE_OID)
    queryBuilder.addQueryElement(2, 'ipv6AddrPfxLength')
    queryBuilder.addQueryElement(3, 'ipv6AddrType')
    queryBuilder.addQueryElement(4, 'ipv6AddrAnycastFlag')
    queryBuilder.addQueryElement(5, 'ipv6AddrStatus')

    table = client.executeQuery(queryBuilder.produceQuery(None)).asTable()
    if table:
        return produceIPv6Results(table, queryBuilder, 'ipv6AddrAddress')
    return None
Esempio n. 7
0
 def getServer(self):
     queryBuilder = snmputils.SnmpQueryBuilder(OID_TABLE_SERVER)
     queryBuilder.addQueryElement(1, 'serverName')
     queryBuilder.addQueryElement(2, 'serverIpAddress')
     servers = self.snmpAgent.getSnmpData(queryBuilder)
     server_map = {}
     for server in servers:
         if isValidIP(server.serverIpAddress):
             serverModel = Server(server.serverName, server.serverIpAddress)
             server_map[serverModel.name] = serverModel
     return server_map
Esempio n. 8
0
def discoverCiscoIPNetToMediaTable(client):
    snmpAgent = snmputils.SnmpAgent(None, client)

    queryBuilder = snmputils.SnmpQueryBuilder(CISCO_IP_NET_TO_PHYSICAL_TABLE_OID)
    queryBuilder.addQueryElement(2, 'cInetNetToMediaNetAddress')
    queryBuilder.addQueryElement(3, 'cInetNetToMediaPhysAddress')
    queryBuilder.addQueryElement(5, 'cInetNetToMediaType')
    queryBuilder.addQueryElement(6, 'cInetNetToMediaState')

    logger.debug('try to get Cisco ARP table by CISCO-IETF-IP-MIB.')
    return snmpAgent.getSnmpData(queryBuilder)
Esempio n. 9
0
    def findAllProcessesByWmi(self):
        processes = []
        agent = self._getAgent()
        queryBuilder = snmputils.SnmpQueryBuilder(
            DiscovererBySnmp.PROCESSES_OID_BASE)
        queryBuilder.addQueryElement(1, 'hrSWRunIndex')
        queryBuilder.addQueryElement(2, 'hrSWRunName')
        queryBuilder.addQueryElement(4, 'hrSWRunPath')
        queryBuilder.addQueryElement(5, 'hrSWRunParameters')
        #queryBuilder.addQueryElement(6, 'hrSWRunType')
        queryBuilder.addQueryElement(7, 'hrSWRunStatus')

        results = agent.getSnmpData(queryBuilder)

        for item in results:
            processPid = item.hrSWRunIndex
            processName = item.hrSWRunName
            processStatus = item.hrSWRunStatus
            processPath = item.hrSWRunPath
            processParameters = item.hrSWRunParameters

            #            logger.debug("Process [PID:%s, Name: %s, Status: %s" % (processPid, processName, processStatus))
            #            logger.debug(" -- Path: %s" % processPath)
            #            logger.debug(" -- Parameters: %s ]" % processParameters)

            if processStatus in ('4', ):
                #skip processes in invalid state
                continue

            if not processName or re.search(r"<defunct>", processName):
                continue

            if not re.search(r"\w+", processName):
                continue

            commandLine = None
            if processPath:
                processPath = self._fixProcessPath(processPath, processName)

                if self._shouldAddQuotes(processPath):
                    processPath = '"%s"' % processPath

                if processParameters:
                    commandLine = " ".join([processPath, processParameters])
                else:
                    commandLine = processPath

            process = process_module.Process(processName, processPid,
                                             commandLine)
            process.executablePath = processPath
            process.argumentLine = processParameters
            processes.append(process)

        return processes
Esempio n. 10
0
def discoverRouteData(client):
    snmpAgent = snmputils.SnmpAgent(None, client)
    
    queryBuilder = snmputils.SnmpQueryBuilder(BASE_ROUTE_OID)
    queryBuilder.addQueryElement(7, 'ipRouteNextHop')
    queryBuilder.addQueryElement(8, 'ipRouteType')
    queryBuilder.addQueryElement(2, 'ipRouteIfIndex')
    queryBuilder.addQueryElement(1, 'ipRouteDest')    
    
    routeList = snmpAgent.getSnmpData(queryBuilder)
    return routeList
Esempio n. 11
0
def getDRACInterfaceTable(client):
    logger.debug("Try to detect DRAC Interface...")
    snmpAgent = snmputils.SnmpAgent(None, client)

    queryBuilder = snmputils.SnmpQueryBuilder(DRAC_INTERFACE_OID)
    queryBuilder.addQueryElement(1, 'bmcLANInterfaceChassisIndex')
    queryBuilder.addQueryElement(9, 'bmcLANInterfaceIPAddress')
    queryBuilder.addQueryElement(10, 'bmcLANInterfaceSubnetMaskAddress')
    queryBuilder.addQueryElement(11, 'bmcLANInterfaceDefaultGatewayAddress')
    queryBuilder.addQueryElement(12, 'bmcLANInterfaceMACAddress', 'hexa')

    return snmpAgent.getSnmpData(queryBuilder)
Esempio n. 12
0
 def getFilterInformation(self):
     result = []
     snmpAgent = snmputils.SnmpAgent(None, self._client)
     queryBuilder = snmputils.SnmpQueryBuilder('1.3.6.1.4.1.2636.3.5.1.1')
     queryBuilder.addQueryElement(1, 'Name')
     queryBuilder.addQueryElement(2, 'Counter')
     queryBuilder.addQueryElement(4, 'Type')
     try:
         result = snmpAgent.getSnmpData(queryBuilder)
     except:
         logger.warn('Failed getting Filter information')
     return result
Esempio n. 13
0
def discoverBridgeData(ipAddress, client):
    snmpAgent = snmputils.SnmpAgent(None, client, None)
    
    queryBuilder = snmputils.SnmpQueryBuilder(BASE_BRIDGE_OID)
    queryBuilder.addQueryElement(1, 'baseBridgeMacAddress', 'hexa')
    
    bridgeList = snmpAgent.getSnmpData(queryBuilder)
    
    for bridge in bridgeList:
        if str(bridge.baseBridgeMacAddress).startswith('000000000000'):
            bridge.baseBridgeMacAddress = ipAddress + ':' + bridge.baseBridgeMacAddress
    return bridgeList
Esempio n. 14
0
def getILOsTableBySNMP(client):
    snmpAgent = snmputils.SnmpAgent(None, client)

    queryBuilder = snmputils.SnmpQueryBuilder(ILO_CARD_OID)
    queryBuilder.addQueryElement(2, 'cpqSm2NicModel')
    queryBuilder.addQueryElement(3, 'cpqSm2NicType')
    queryBuilder.addQueryElement(4, 'cpqSm2NicMacAddress', 'hexa')
    queryBuilder.addQueryElement(5, 'cpqSm2NicIpAddress')
    queryBuilder.addQueryElement(6, 'cpqSm2NicIpSubnetMask')
    queryBuilder.addQueryElement(9, 'cpqSm2NicSpeed')
    queryBuilder.addQueryElement(13, 'cpqSm2NicGatewayIpAddress')

    return snmpAgent.getSnmpData(queryBuilder)
Esempio n. 15
0
def discoverIPv6NetToMediaTable(client):
    queryBuilder = snmputils.SnmpQueryBuilder(BASE_ARPTABLE_IPV6_OID)
    queryBuilder.addQueryElement(2, 'ipv6NetToMediaPhysAddress', 'hexa')
    queryBuilder.addQueryElement(3, 'ipv6NetToMediaType')
    queryBuilder.addQueryElement(4, 'ipv6IfNetToMediaState')
    queryBuilder.addQueryElement(5, 'ipv6IfNetToMediaLastUpdated')
    queryBuilder.addQueryElement(6, 'ipv6NetToMediaValid')

    logger.debug('try to get ARP table for IPv6 by RFC 2465.')
    table = client.executeQuery(queryBuilder.produceQuery(None)).asTable()
    if table:
        return produceIPv6Results(table, queryBuilder, 'ipv6NetToMediaNetAddress')
    return None
Esempio n. 16
0
def discoverIPNetToPhysicalTable(client):
    queryBuilder = snmputils.SnmpQueryBuilder(BASE_IP_NET_TO_PHYSICAL_TABLE_OID)
    queryBuilder.addQueryElement(4, 'ipNetToPhysicalPhysAddress', 'hexa')
    queryBuilder.addQueryElement(5, 'ipNetToPhysicalLastUpdated')
    queryBuilder.addQueryElement(6, 'ipNetToPhysicalType')
    queryBuilder.addQueryElement(7, 'ipNetToPhysicalState')
    queryBuilder.addQueryElement(8, 'ipNetToPhysicalRowStatus')

    logger.debug('try to get ARP table for both IPv4/6 by RFC 4293.')
    table = client.executeQuery(queryBuilder.produceQuery(None)).asTable()
    if table:
        return produceIPv6Results(table, queryBuilder, 'ipNetToPhysicalNetAddress')
    return None
Esempio n. 17
0
def isDhcpServer(client):
    snmpAgent = snmputils.SnmpAgent(None, client)
    queryBuilder = snmputils.SnmpQueryBuilder(BASE_DHCP_WIN_OID)
    queryBuilder.addQueryElement(1, 'parDhcpStartTime')
    isDhcpServer = 0

    logger.debug('try to query DHCP attribute.')
    response = snmpAgent.getSnmpData(queryBuilder)
    if (len(response) > 0):
        isDhcpServer = 1
        logger.debug('Find the parDhcpStartTime and mark it as DHCP Server.')

    return isDhcpServer
Esempio n. 18
0
    def getNatedNetworks(self):
        result = []
        snmpAgent = snmputils.SnmpAgent(None, self._client)
        queryBuilder = snmputils.SnmpQueryBuilder('1.3.6.1.4.1.2636.3.38.1.1')
        queryBuilder.addQueryElement(1, 'Name')
        try:
            elems = snmpAgent.getSnmpData(queryBuilder)
            result = self.parseNatedNetworks(elems)
        except:
            logger.debugException('')
            logger.warn('Failed getting NAT information')

        return result
Esempio n. 19
0
    def getFirewallConfig(self):
        result = []
        snmpAgent = snmputils.SnmpAgent(None, self._client)
        queryBuilder = snmputils.SnmpQueryBuilder(
            '1.3.6.1.4.1.12356.101.5.1.2')
        queryBuilder.addQueryElement(1, 'Pol_Id')  #string
        queryBuilder.addQueryElement(4, 'Pkt_Count')  #int
        queryBuilder.addQueryElement(3, 'Byte_Count')  #int
        try:
            result = snmpAgent.getSnmpData(queryBuilder)
        except:
            logger.warn('Failed getting basic config')

        return result
Esempio n. 20
0
 def getVServers(self):
     queryBuilder = snmputils.SnmpQueryBuilder(OID_TABLE_VSERVER)
     queryBuilder.addQueryElement(1, 'vsvrName')
     queryBuilder.addQueryElement(2, 'vsvrIpAddress')
     queryBuilder.addQueryElement(3, 'vsvrPort')
     queryBuilder.addQueryElement(4, 'vsvrType')
     vservers = self.snmpAgent.getSnmpData(queryBuilder)
     v_server_map = {}
     for row in vservers:
         if isValidIP(row.vsvrIpAddress):
             v_server_map[row.meta_data] = VServer(
                 row.vsvrName, row.vsvrIpAddress, row.vsvrPort,
                 serviceTypeToName(row.vsvrType))
     return v_server_map
Esempio n. 21
0
def discoverEntityDetails(client):
    snmpAgent = snmputils.SnmpAgent(None, client)
    queryBuilder = snmputils.SnmpQueryBuilder(BASE_ENTITY_PHYSICAL_OBJECTS_OID)
    queryBuilder.addQueryElement(2, 'description')
    queryBuilder.addQueryElement(3, 'type')
    queryBuilder.addQueryElement(4, 'containedIn')
    queryBuilder.addQueryElement(5, 'physClass')
    queryBuilder.addQueryElement(7, 'name')
    queryBuilder.addQueryElement(10, 'swRev')
    queryBuilder.addQueryElement(11, 'serialNumber')
    queryBuilder.addQueryElement(12, 'vendor')
    queryBuilder.addQueryElement(13, 'model')
    try:
        sysTable = snmpAgent.getSnmpData(queryBuilder)
    except:
        return [], ObjectStateHolderVector()
    
    aggregated_switches = []
    interfaces = []
    index_to_data_map = {}
    
    for data in sysTable:

        if data.type in phys_sw_oids and (data.physClass and int(data.physClass) == 3):
            aggregated_switches.append(data)
        if data.physClass and int(data.physClass) == 10:
            interfaces.append(data)
        index_to_data_map[data.meta_data] = data
    switches_oshs = []

    interfaceVector = ObjectStateHolderVector()
    if aggregated_switches and aggregated_switches[1:]:
        logger.debug('Detected Switch aggregation.')
        logger.debug('Found aggregated devices %s' % ([x.name for x in aggregated_switches[1:]]))
        
        lookup_sw = {}
        for data in aggregated_switches[1:]:
            sw_osh = buildAggrBackendSwitch(data)
            switches_oshs.append(sw_osh)
            lookup_sw[data.meta_data] = sw_osh
        
        for interface in interfaces:
            switch_id = findRelatedSwitch(interface, index_to_data_map, lookup_sw.keys())
            sw_osh = lookup_sw.get(switch_id)
            if sw_osh:
                interface_osh = buildSwInterface(interface, sw_osh)
                interfaceVector.add(interface_osh)
                
    return switches_oshs, interfaceVector
Esempio n. 22
0
 def getServices(self):
     queryBuilder = snmputils.SnmpQueryBuilder(OID_TABLE_SERVICE)
     queryBuilder.addQueryElement(1, 'svcServiceName')
     queryBuilder.addQueryElement(2, 'svcIpAddress')
     queryBuilder.addQueryElement(3, 'svcPort')
     queryBuilder.addQueryElement(4, 'svcServiceType')
     services = self.snmpAgent.getSnmpData(queryBuilder)
     service_map = {}
     for service in services:
         if isValidIP(service.svcIpAddress):
             serviceModel = Services(
                 service.svcServiceName, service.svcIpAddress,
                 service.svcPort, serviceTypeToName(service.svcServiceType))
             service_map[serviceModel.name] = serviceModel
     return service_map
Esempio n. 23
0
def discoverMixedIPAddressTable(client):
    queryBuilder = snmputils.SnmpQueryBuilder(BASE_MIXED_IP_TABLE_OID)
    queryBuilder.addQueryElement(3, 'ipAddressIfIndex')
    queryBuilder.addQueryElement(4, 'ipAddressType')
    queryBuilder.addQueryElement(5, 'ipAddressPrefix')
    queryBuilder.addQueryElement(6, 'ipAddressOrigin')
    queryBuilder.addQueryElement(7, 'ipAddressStatus')
    queryBuilder.addQueryElement(8, 'ipAddressCreated')
    queryBuilder.addQueryElement(9, 'ipAddressLastChanged')
    queryBuilder.addQueryElement(10, 'ipAddressRowStatus')
    queryBuilder.addQueryElement(11, 'ipAddressStorageType')

    table = client.executeQuery(queryBuilder.produceQuery(None)).asTable()
    if table:
        return produceIPv6Results(table, queryBuilder, 'ipAddressAddr')
    return None
Esempio n. 24
0
    def getJSPolicy(self):
        result = []

        snmpAgent = snmputils.SnmpAgent(None, self._client)
        queryBuilder = snmputils.SnmpQueryBuilder(
            '1.3.6.1.4.1.2636.3.39.1.4.1.1.2.1')
        queryBuilder.addQueryElement(1, 'Zone_name')
        queryBuilder.addQueryElement(3, 'Policy_Name')
        queryBuilder.addQueryElement(5, 'Policy_action')
        queryBuilder.addQueryElement(7, 'Policy_state')
        try:
            result = snmpAgent.getSnmpData(queryBuilder)
        except:
            logger.warn('Failed getting JS Policy information')

        return result
Esempio n. 25
0
    def getVpnSslConfig(self):
        result = []
        snmpAgent = snmputils.SnmpAgent(None, self._client)
        queryBuilder = snmputils.SnmpQueryBuilder(
            '1.3.6.1.4.1.12356.101.12.2.4.1')
        queryBuilder.addQueryElement(1, 'Index')
        queryBuilder.addQueryElement(2, 'VDom')
        queryBuilder.addQueryElement(3, 'User')
        queryBuilder.addQueryElement(4, 'Src_IP')
        queryBuilder.addQueryElement(5, 'Tunel_IP')
        try:
            result = snmpAgent.getSnmpData(queryBuilder)
        except:
            logger.warn('Failed getting VPN SSL config')

        return result
Esempio n. 26
0
 def getWebCacheConfig(self):
     result = []
     snmpAgent = snmputils.SnmpAgent(None, self._client)
     queryBuilder = snmputils.SnmpQueryBuilder(
         '1.3.6.1.4.1.12356.101.10.113.1')
     queryBuilder.addQueryElement(1, 'RAM_Limit')
     queryBuilder.addQueryElement(2, 'RAM_Usage')
     queryBuilder.addQueryElement(3, 'RAM_Hits')
     queryBuilder.addQueryElement(4, 'RAM_Misses')
     queryBuilder.addQueryElement(5, 'Requests')
     queryBuilder.addQueryElement(6, 'Bypass')
     try:
         result = snmpAgent.getSnmpData(queryBuilder)
     except:
         logger.warn('Failed getting Cache config')
     return result
Esempio n. 27
0
    def getNatInformation(self):
        '''jnxJsSrcNatTable: 1.3.6.1.4.1.2636.3.39.1.7.1.1.2'''
        result = []
        snmpAgent = snmputils.SnmpAgent(None, self._client)
        queryBuilder = snmputils.SnmpQueryBuilder(
            '1.3.6.1.4.1.2636.3.39.1.7.1.1.2.1')
        queryBuilder.addQueryElement(1, 'Name')
        queryBuilder.addQueryElement(2, 'Global_address')
        queryBuilder.addQueryElement(4, 'Number_of_used_ports')
        queryBuilder.addQueryElement(5, 'Number_of_sessions')
        queryBuilder.addQueryElement(6, 'Assoc_Interface')
        try:
            result = snmpAgent.getSnmpData(queryBuilder)
        except:
            logger.warn('Failed getting NAT information')

        return result
Esempio n. 28
0
    def getProxyConfig(self):
        result = []
        snmpAgent = snmputils.SnmpAgent(None, self._client)
        queryBuilder = snmputils.SnmpQueryBuilder(
            '1.3.6.1.4.1.12356.101.10.112.5.1')
        queryBuilder.addQueryElement(1, 'Blocked_DLP')
        queryBuilder.addQueryElement(2, 'Blocked_Conn_Type')
        queryBuilder.addQueryElement(3, 'Examined_URLs')
        queryBuilder.addQueryElement(4, 'Allowed_URLs')
        queryBuilder.addQueryElement(5, 'Blocked_URLs')
        queryBuilder.addQueryElement(6, 'Logged_URLs')
        queryBuilder.addQueryElement(7, 'Overriden_URLs')
        try:
            result = snmpAgent.getSnmpData(queryBuilder)
        except:
            logger.warn('Failed getting Proxy config')

        return result
Esempio n. 29
0
 def getServiceGroup(self):
     queryBuilder = snmputils.SnmpQueryBuilder(OID_TABLE_SERVICE_GROUP)
     queryBuilder.addQueryElement(1, 'svcGrpMemberGroupName')
     queryBuilder.addQueryElement(2, 'svcGrpMemberName')
     queryBuilder.addQueryElement(3, 'svcGrpMemberPrimaryIPAddress')
     queryBuilder.addQueryElement(4, 'svcGrpMemberPrimaryPort')
     queryBuilder.addQueryElement(5, 'svcGrpMemberServiceType')
     serviceGroups = self.snmpAgent.getSnmpData(queryBuilder)
     service_group_map = {}
     for serviceGroup in serviceGroups:
         if isValidIP(serviceGroup.svcGrpMemberPrimaryIPAddress):
             sg = ServiceGroup(
                 serviceGroup.svcGrpMemberGroupName,
                 serviceGroup.svcGrpMemberName,
                 serviceGroup.svcGrpMemberPrimaryIPAddress,
                 serviceGroup.svcGrpMemberPrimaryPort,
                 serviceTypeToName(serviceGroup.svcGrpMemberServiceType),
             )
             service_group_map[sg.name] = sg
     return service_group_map
Esempio n. 30
0
    def getAntivirusConfig(self):
        result = []
        snmpAgent = snmputils.SnmpAgent(None, self._client)
        queryBuilder = snmputils.SnmpQueryBuilder(
            '1.3.6.1.4.1.12356.101.8.2.1.1')
        queryBuilder.addQueryElement(1, 'AV_Detected')
        queryBuilder.addQueryElement(2, 'AV_Blocked')
        queryBuilder.addQueryElement(3, 'HTTP_AV_Detected')
        queryBuilder.addQueryElement(4, 'HTTP_AV_Blocked')
        queryBuilder.addQueryElement(5, 'SMTP_AV_Detected')
        queryBuilder.addQueryElement(6, 'SMTP_AV_Blocked')
        queryBuilder.addQueryElement(7, 'POP3_AV_Detected')
        queryBuilder.addQueryElement(8, 'POP3_AV_Blocked')
        queryBuilder.addQueryElement(9, 'IMAP_AV_Detected')
        queryBuilder.addQueryElement(10, 'IMAP_AV_Blocked')
        try:
            result = snmpAgent.getSnmpData(queryBuilder)
        except:
            logger.warn('Failed getting Antivirus config')

        return result