2016-10-17 2 views
3

Ist es möglich, ein kleines Skript zu schreiben, das eine DHCP-Broadcast-Anfrage sendet und die Adresse des DHCP-Servers findet?Wie sende ich eine DHCP-Anfrage, um DHCP-Server-IP-Adresse zu finden? Ist das möglich?

Ich brauche das für ein Projekt, aber meine Forschung führte mich zu der Annahme, dass Sie dies unter Windows nicht tun können? Ich würde ein kleines Skript für OSX, Linux und Windows brauchen.

+0

Warum kann man nicht laufen 'ipconfig', zum Beispiel, und extrahieren Sie die Gateway-Informationen? –

Antwort

0

Ich denke, Sie fragen ein XY Problem: Sie möchten wissen, wie die DHCP-IP-Adresse in Windows über Python zu finden?

Es gibt eine Lösung auf SuperUser für obtaining DHCP server ip from the command line. Sie können ipconfig /all mit subprocess wickeln und dann die Ausgabe analysieren:

import subprocess # Runs a command on the cmd line 

res = subprocess.check_output("ipconfig /all") 
0

Okay, ich werde die Annahme, dass Ihr Standard-Gateway zu Punkt, an dem DHCP-Server konfiguriert ist, machen. Ich fand das folgende Paket und konnte meine Standard-Gateway erhalten:

#!/usr/bin/env python 
import netifaces 

gateway_info = netifaces.gateways() 
print(gateway_info) 

hatte ich natürlich zuerst die netifaces Modul über pip zu installieren:

$> pip installieren --user netifaces

Code gibt folgendes zurück:

$> ./test3.py

{ 'default': {2: ('192.168.0.1', 'en0')}, 2: [('192.168.0.1' , 'en0', Tr ue)]}

Ich hoffe, das hilft.

Mit freundlichen Grüßen,

Aaron C.

+0

Ich glaube, OP will die IP-Adresse des ** DHCP-Servers ** nicht die IP des Clients. – sytech

+0

@Gator_Python Ich glaube, du hast Recht. Ich habe meine Antwort geändert. Unter der Annahme, dass sein Standard-Gateway auf den DHCP-Server gerichtet ist, sollten meine Änderungen funktionieren. Vielen Dank. –

Verwandte Themen