2016-05-18 17 views
0

Ich benutze url_rewrite_program, geschrieben in Python um URLs basierend auf der folgenden Logik umzuleiten.Squid: Abrufen der MAC-Adresse des Rechners, der die HTTP-Anfrage in url_rewrite_program erstellt

Logic wird die Datenbank abfragen und prüfen, ob der jeweilige Mac berechtigt ist oder nicht.

Wenn er berechtigt ist, würde ich die URL nicht ändern.

Wenn er nicht autorisiert ist, werde ich zur Anmeldeseite umleiten.


Mein Problem ist, dass der Eingangsstrom in url_rewrite_program nur folgenden Daten (keine MAC-Daten von der Vorrichtung zu machen http_request) enthält.

http://www.google.com/ 10.10.10.2/10.10.10.2 - GET myip=- myport=3030 

Wie kann ich die MAC-Adresse bekommen?

Die Problemumgehung, die ich verwende, um die MAC-Adresse zu erhalten, ist arp -a.

Aber es wird großartig sein, wenn squid die MAC-Adresse zu url_rewrite_program bereitstellen kann.

Antwort

0

Sie könnten Scapy anstelle von Subprozess und Arp verwenden. Bedenken Sie jedoch, dass die MAC-Adressen das Routing nicht überstehen. Daher ist die MAC, die Sie sehen, möglicherweise nicht die MAC-Adresse des Clients