Start beacon tracking
()
| 12749 | 'count': 0 |
| 12750 | }), 400 |
| 12751 | |
| 12752 | # Run both scans |
| 12753 | arp_hosts = run_arp_scan_localnet(interface) |
| 12754 | nmap_hosts = run_nmap_ping_scan(network) |
| 12755 | |
| 12756 | # Combine results, preferring ARP data when available |
| 12757 | combined_hosts = {} |
| 12758 | |
| 12759 | # Start with nmap results |
| 12760 | for ip, data in nmap_hosts.items(): |
| 12761 | combined_hosts[ip] = { |
| 12762 | 'ip': ip, |
| 12763 | 'mac': data.get('mac', ''), |
| 12764 | 'hostname': data.get('hostname', ''), |
| 12765 | 'status': data.get('status', 'up'), |
| 12766 | 'vendor': data.get('vendor', ''), |
| 12767 | 'source': 'nmap' |
| 12768 | } |
| 12769 | |
| 12770 | # Overlay ARP results (more reliable for MAC addresses) |
| 12771 | for ip, data in arp_hosts.items(): |
| 12772 | if ip in combined_hosts: |
| 12773 | # Update existing entry with ARP data |
nothing calls this directly
no test coverage detected