79355553

Date: 2025-01-14 15:52:03
Score: 3
Natty:
Report link

There are a few things that should be taken into consideration when dealing with your problem.

First, the OUI used by the netaddr 1.3.0 package is outdated.

I have an iPhone 16 with' OUI 0C-85-E1. You can check directly in IEEE or here that it is a valid OUI, but it's not updated in the netaddr source.

You can solve this problem using another approach to get OUI info from the web.

maco = src_mac[:8].upper().replace(":", "-")
try:
  response = requests.get(f"https://api.macvendors.com/{oui}")
  if response.status_code == 200:
    macf = response.text
  else:
    macf = "Not available"
except Exception as e:
  macf = "Not available"

But here there's the second problem. Apple uses a private Wi-Fi addresses security functionality that prevents from showing the real OUI on all requests, including probe requests.

Check here when this option is off:

private Wi-Fi addresses security functionality off

And when it's on:

enter image description here

You can check that OUI 6E-BA-4F it's invalid.

Android has a similar function too. So you will have the same problem.

If your clients use this function there is no way to determine the vendor based on OUI from probe requests.

Reasons:
  • Probably link only (1):
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Me too answer (2.5): have the same problem
  • Low reputation (0.5):
Posted by: wiltonsr