J'essaie de compiler une liste de toutes les adresses MAC des appareils Apple. oui.txt
me dit Apple a été assigné 77 plages de MAC à utiliser. Ces plages se présentent sous la forme de:Ma boucle Python for provoque une erreur MemoryError. Comment puis-je optimiser cela?
00:00:00
00:11:11
etc...
Cela me laisse les trois derniers chiffres HEX à ajouter. C'est 16^6
. Un total de 1291845632 adresses MAC Apple.
Le problème que j'ai est d'écrire un programme pour créer une liste de ces adresses MAC. Voici mon code actuel:
import re
apple_mac_range = []
apple_macs = []
# Parse the HTML of http://standards.ieee.org/cgi-bin/ouisearch to get the MACs
with open('apple mac list', 'r') as f:
for line in f.readlines():
match = re.search(r'[\w\d]{2}-[\w\d]{2}-[\w\d]{2}', line)
if match:
apple_mac_range.append(match.group().split('-'))
for mac in apple_mac_range:
for i in range(1, 1291845633):
print i
Cela me donne un MemoryError
... Comment puis-je optimiser?
Pourquoi diable voulez-vous générer une liste complète de toutes ces adresses MAC? –
Pourquoi avez-vous besoin d'énumérer plus d'un milliard d'adresses? Quel est le problème que vous essayez vraiment de résoudre? – SingleNegationElimination
Eh bien, je ne veux vraiment que des MAC d'appareils iPhone, mais, d'après ce que j'ai trouvé jusqu'à présent, Apple ne semble pas avoir une gamme spécifique (s) qu'ils utilisent pour certains appareils. – dave