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
def buildProcessMap(processes): processMap = {} for process in processes: processMap[process.getPid()] = process return processMap