Пример #1
0
def reportProcessToPort(processes, endpoints, applicationOsh, shell, localip):
    OSHVResult = ObjectStateHolderVector()
    if endpoints:
        key_to_endpoints_map = {}
        [key_to_endpoints_map.update({x.getKey(): x.getEndpoints()}) for x in endpoints]

        for process in processes:
            remotes = key_to_endpoints_map.get(process.getPid())
            if remotes:
                for remote in remotes:
                    address = remote.getAddress()
                    if not isinstance(address, (ip_addr.IPv4Address, ip_addr.IPv6Address)):
                        address = ip_addr.IPAddress(address)
                    port = remote.getPort()
                    if isinstance(address, ip_addr.IPv6Address):
                        logger.debug("ignore ipv6 address:", address)
                        continue
                    logger.debug("reporting remote address:", address)
                    logger.debug("reporting remote port:", port)
                    scpOshv = scp.createScpOSHV(applicationOsh, scp.TCP_TYPE, str(address), port, None, shell, localip)
                    OSHVResult.addAll(scpOshv)

    return OSHVResult
Пример #2
0
def buildProcessMap(processes):
    processMap = {}
    for process in processes:
        processMap[process.getPid()] = process
    return processMap