rooogie
Goto Top

IP und Hostname via Batch aus dem Router lesen

Hallo zusammen

Ich bin neu hier und habe auf den ersten Eindruck das Gefühl, dieses Forum könnte mir weiterhelfen face-smile

Kurz gesagt: Ich möchte alle verteilten IP und die zugehörigen Hostnamen des DHCP konfigurierten Routers via Batch auslesen können.
Ich habe jetzt ungefähr 2-3 Tage nach einer Lösung gesucht und habe nichts gefunden bzw. bei mir funktioniert das so nicht (komme ich später noch darauf zurück).

Infos:
- Router als DHCP Server konfiguriert
- Router IP: 172.23.100.1
- Clients bis jetzt 2 SPS mit Ethernetschnittstelle und 1 PC mit USB to Ethernet

Wenn ich über den Webbrowser auf den Router gehe sehe ich die verteilten IP-Adressen inkl. Hostnamen und MAC der Clients.
Nun möchte ich genau diese Liste als *.txt haben.

Ich hätte die Lösung wahrscheinlich schon gefunden, aber bei mir funktioniert die Funktion

netsh dhcp ....

nicht, es kommt die Meldung: "The following command was not found: dhcp.".
Hat das einen bestimmten Grund?
Gibt es noch eine andere Möglichkeit diese Daten auslesen zu können?

Ich brauche das um auf einem eigenen Netz Daten von den SPS rauf und runterladen kann.

Vielen Dank schon zum Voraus für eure Hilfe, ich hoffe ihr könnt mir weiterhelfen.

Gruss

Content-Key: 178833

Url: https://administrator.de/contentid/178833

Ausgedruckt am: 28.03.2024 um 20:03 Uhr

Mitglied: KowaKowalski
KowaKowalski 12.01.2012 um 19:20:59 Uhr
Goto Top
Hi,

mit netsh dhcp kannst Du nen DHCP-Server konfigurieren wenn er ein WindowsBS als Basis nutzt.

Ein Router fährt aber, mit ziemlicher Sicherheit, irgendein Unix/Linux-derivat.

Da könntest Du sehen ob Dein Router snmp unterstützt und im ja-Fall die Infos auf diesem Wege abgreifen.


mfg
kowa
Mitglied: Rooogie
Rooogie 13.01.2012 um 08:20:48 Uhr
Goto Top
Hallo kowa

Vielen Dank für den Tipp, ich werde da mal etwas ausprobieren, gebe dir dann bescheid ob oder wie es läuft face-smile

Gruss
Mitglied: Rooogie
Rooogie 13.01.2012 um 10:37:54 Uhr
Goto Top
Ich habe mich ein bisschen informiert über SNMP.

Mein Router ist SNMP fähig, der PC kann ich nun auch soweit konfigurieren, damit die beiden miteinander Kommunizieren können.
Nun müsste ich aber ein Tool, bzw. am besten etwas über Batch haben damit ich meine gwünschte Daten vom Router holen gehen kann.
Dazu habe ich ein Tool gefunden (SNMPGET.exe) welches folgende Funktionen hat:

:------------------------------------------------------------------------------------------
SnmpGet.exe [-q] -r:host [-p:port] [-t:timeout] [-v:version] [-c:community]
[-ei:engine_id] [-sn:sec_name] [-ap:auth_proto] [-aw:auth_passwd]
[-pp:priv_proto] [-pw:priv_passwd] [-ce:cont_engine] [-cn:cont_name]
-o:var_oid

-q Quiet mode (suppress header; print variable value only)
-r:host Name or network address (IPv4/IPv6) of remote host.
-p:port SNMP port number on remote host. Default: 161
-t:timeout SNMP timeout in seconds (1-600). Default: 5
-v:version SNMP version. Supported version: 1, 2c or 3. Default: 1
-c:community SNMP community string for SNMP v1/v2c. Default: public
-ei:engine_id Engine ID. Format: hexadecimal string. (SNMPv3).
-sn:sec_name SNMP security name for SNMPv3.
-ap:auth_proto Authentication protocol. Supported: MD5, SHA (SNMPv3).
-aw:auth_passwd Authentication password (SNMPv3).
-pp:priv_proto Privacy protocol. Supported: DES, IDEA, AES128, AES192,
AES256, 3DES (SNMPv3).
-pw:priv_passwd Privacy password (SNMPv3).
-cn:cont_name Context name. (SNMPv3)
-ce:cont_engine Context engine. Format: hexadecimal string. (SNMPv3)
-o:var_oid Object ID (OID) of SNMP variable to GET.

Examples:

SnmpGet.exe -r:10.0.0.1 -t:10 -c:"admin_rw" -o:.1.3.6.1.2.1.1.4.0
SnmpGet.exe -r:MainRouter -q -v:2c -p:10161 -o:.1.3.6.1.2.1.1.1.0
SnmpGet.exe -r:"::1" -v:3 -sn:SomeName -ap:MD5 -aw:SomeAuthPass -pp:DES
-pw:SomePrivPass -o:.1.3.6.1.2.1.1.8.0
:------------------------------------------------------------------------------------------

Wie man bei den examples erkennen kann, braucht man sogenannte OID's, das geht mir schon fast zu weit...

Kann ich den DHCP-Server auch von PC aus machen? wäre das nicht einfacher?
oder ist das so kompliziert die vergebenen IP's auszulesen?

Vielen Dank

Gruss Rooogie
Mitglied: Lochkartenstanzer
Lochkartenstanzer 13.01.2012 um 18:33:42 Uhr
Goto Top
Einfach mit wget.exe die Konfigurationsseite abholen. und abspeichern lassen. Ist zwar nicht im Lieferumfang von windows, aber diverse Implementationen lassen sich kostenlos herunterladen.


lks
Mitglied: Rooogie
Rooogie 16.01.2012 um 09:48:40 Uhr
Goto Top
Hallo Lochkartenstanzer

Danke für den Tipp, ich habe mir einmal eine Version heruntergeladen und ein bisschen damit herumgespielt.
Nun kann ich die Konfigurationsseite zwar herunterladen, aber die vergebenen IP's stehen natürlich in einer Funktion:

<script>
set_dhcplist();
for(i=0;i<DHCPL_DataArray.length;i++){
document.write("<tr bgcolor=\"#F0F0F0\" align=\"center\">"+
"<td bgcolor=#F0F0F0 >"+ DHCPL_DataArray[i].Name +"</td>"+
"<td bgcolor=#F0F0F0>"+ DHCPL_DataArray[i].IP +"</td>"+
"<td bgcolor=#F0F0F0>"+ DHCPL_DataArray[i].MAC.toUpperCase() +"</td>"+
"</tr>");
}
</script>

Kann ich die Werte auf irgendeine weise aus diesem "DataArray" auslesen?

Danke zum Voraus für eure Bemühungen.

Gruss Rooogie
Mitglied: Lochkartenstanzer
Lochkartenstanzer 16.01.2012 um 12:50:59 Uhr
Goto Top
Moin moin,

Dann versuch mal elinks.exe mit dem Parameter --dump. Das sollte zumindest das javascript interpretieren und dann den Seiteninhalt so ausgeben, wie er dargestellt würde.

lks