it
This commit is contained in:
		
							parent
							
								
									89ae06482e
								
							
						
					
					
						commit
						9499e62ccc
					
				@ -452,13 +452,16 @@ class Scanner:
 | 
			
		||||
        return eligible
 | 
			
		||||
 | 
			
		||||
    def _already_queried_provider(self, target: str, provider_name: str) -> bool:
 | 
			
		||||
        """Check if we already queried a provider for a target."""
 | 
			
		||||
        """Check if we already successfully queried a provider for a target."""
 | 
			
		||||
        if not self.graph.graph.has_node(target):
 | 
			
		||||
            return False
 | 
			
		||||
            
 | 
			
		||||
        node_data = self.graph.graph.nodes[target]
 | 
			
		||||
        provider_states = node_data.get('metadata', {}).get('provider_states', {})
 | 
			
		||||
        return provider_name in provider_states
 | 
			
		||||
        
 | 
			
		||||
        # A provider has been successfully queried if a state exists and its status is 'success'
 | 
			
		||||
        provider_state = provider_states.get(provider_name)
 | 
			
		||||
        return provider_state is not None and provider_state.get('status') == 'success'
 | 
			
		||||
 | 
			
		||||
    def _query_single_provider_forensic(self, provider, target: str, is_ip: bool, current_depth: int) -> Optional[List]:
 | 
			
		||||
        """Query a single provider with stop signal checking."""
 | 
			
		||||
 | 
			
		||||
@ -50,12 +50,7 @@ class DNSProvider(BaseProvider):
 | 
			
		||||
    def query_domain(self, domain: str) -> List[Tuple[str, str, str, float, Dict[str, Any]]]:
 | 
			
		||||
        """
 | 
			
		||||
        Query DNS records for the domain to discover relationships.
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            domain: Domain to investigate
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
            List of relationships discovered from DNS analysis
 | 
			
		||||
        ...
 | 
			
		||||
        """
 | 
			
		||||
        if not _is_valid_domain(domain):
 | 
			
		||||
            return []
 | 
			
		||||
@ -66,11 +61,13 @@ class DNSProvider(BaseProvider):
 | 
			
		||||
        for record_type in ['A', 'AAAA', 'CNAME', 'MX', 'NS', 'SOA', 'TXT', 'SRV', 'CAA']:
 | 
			
		||||
            try:
 | 
			
		||||
                relationships.extend(self._query_record(domain, record_type))
 | 
			
		||||
            except resolver.NoAnswer:
 | 
			
		||||
                # This is not an error, just a confirmation that the record doesn't exist.
 | 
			
		||||
                self.logger.logger.debug(f"No {record_type} record found for {domain}")
 | 
			
		||||
            except Exception as e:
 | 
			
		||||
                self.failed_requests += 1
 | 
			
		||||
                self.logger.logger.debug(f"{record_type} record query failed for {domain}: {e}")
 | 
			
		||||
                # Re-raise the exception so the scanner can handle it
 | 
			
		||||
                raise e
 | 
			
		||||
                # Optionally, you might want to re-raise other, more serious exceptions.
 | 
			
		||||
 | 
			
		||||
        return relationships
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user