![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 31. 05. 2007, 09:17
Hi Leute!
Ich arbeite gerade an einem skript, welches über snmp verschiedenste Hostinformationen holt, und diese in eine html Seite reinschreibt.
Nun bin ich auf ein kleines Problem gestoßen:
Die Mac Adresse wird mir (soweit ich die etwas mühsam zu findenden Informationen über snmp richtig verstanden habe) hexadezimal übertragen. Wenn ich den output in eine Datei pipe.. habe ich folgenden Wert drinnen stehen: ^@0^E"^EÛ
das ist wie ich meine nicht sehr informativ...
Bis jetzt bin ich auf keine Möglichkeit gestoßen, diesen wert einfach umzuwandeln, da sich alle funktionen die ich gefunden habe, auf hexadezimal formatierte Strings beziehen...
Ich bin für alle Tips dankbar...
lg.
Kleinerroemer
Die folgende Nachricht zum Thema stammt von: Siechfred, 31. 05. 2007, 09:41
»» Ich bin für alle Tips dankbar...
Es gibt diverse Module, vielleicht ist da was dabei:
http://search.cpan.org/~atrak/NetPacket-0.04/
http://search.cpan.org/~crazydj/Net-ARP-1.0/
http://search.cpan.org/~tpaba/Net-Ifconfig-Wrapper-0.09/
Ansonsten kannst du auch das Dienstprogramm ARP nutzen, der Schalter -a sollte helfen:my $info = qx{arp -a};
print $info;
Die Ausgabe kannst du auch via {arp -a > arp.txt} in eine Datei schreiben und diese parsen. Aber ein Modul wäre schon besser zu handhaben, denke ich.
Siechfred
--
Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
Die folgende Nachricht zum Thema stammt von: kleinerroeemer, 31. 05. 2007, 09:59
»» my $info = qx{arp -a};
»» print $info;
»»
Ich hab das mal probiert.. und der output passt dann auch nicht.. bzw hab ihc keinen ;)..
also mom. denke ich das was mit dem snmp tree nicht stimmt bei mir..
danke aber mal für den tip!
lg
Die folgende Nachricht zum Thema stammt von: Siechfred, 31. 05. 2007, 12:21
»» Ich hab das mal probiert.. und der output passt dann auch nicht.. bzw hab ihc keinen ;)..
Es gibt ein Perlmodul Net::SNMP, dessen Methode get_request in Kombination mit dem von Rolf genannten Object Identifier sollte eigentlich was ausspucken.
Siechfred
--
Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 31. 05. 2007, 13:14
»» Es gibt ein Perlmodul
Das verwende ich eh... es gibt auch was aus.. nur leider das falsche (aber auch nur bei dieser OID).
lg.
Die folgende Nachricht zum Thema stammt von: Klugscheiser, 31. 05. 2007, 09:48
moin,
»» Die Mac Adresse wird mir (soweit ich die etwas mühsam zu findenden Informationen über snmp richtig verstanden habe) hexadezimal übertragen. Wenn ich den output in eine Datei pipe.. habe ich folgenden Wert drinnen stehen: ^@0^E"^EÛ
So? Bei mir sehe ich das hier:
interfaces.ifTable.ifEntry.ifPhysAddress.1 = Hex: 00 03 4B FF 55 DE
Prüf mal Deine Zeichentabelle.
--Klugscheiser
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 31. 05. 2007, 09:58
»» moin,
»»
»» »» Die Mac Adresse wird mir (soweit ich die etwas mühsam zu findenden Informationen über snmp richtig verstanden habe) hexadezimal übertragen. Wenn ich den output in eine Datei pipe.. habe ich folgenden Wert drinnen stehen: ^@0^E"^EÛ
»»
»» So? Bei mir sehe ich das hier:
»»
»» interfaces.ifTable.ifEntry.ifPhysAddress.1 = Hex: 00 03 4B FF 55 DE
»»
»» Prüf mal Deine Zeichentabelle.
»»
Hmm.. kannst du mir mal die OID sagen die du verwendet hast...
ich habe 1.3.6.1.2.1.2.2.1.6 verwendet...
»» --Klugscheiser
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 31. 05. 2007, 10:03
»» »» interfaces.ifTable.ifEntry.ifPhysAddress.1 = Hex: 00 03 4B FF 55 DE
»» »»
»» »» Prüf mal Deine Zeichentabelle.
»» »»
»» Hmm.. kannst du mir mal die OID sagen die du verwendet hast...
»»
»» ich habe 1.3.6.1.2.1.2.2.1.6 verwendet...
Hab erst jetzt gesehen das du eh die namen dazugeschrieben hast...
also wenn ich ein snmpget auf den eintrag mache den du mir oben geschrieben hast.. ist er leer... ihc bekomme aber eine response und alles.. aber keinen wert.. ( habs auf mehreren maschinen getestet )
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 31. 05. 2007, 10:21
»» also wenn ich ein snmpget auf den eintrag mache den du mir oben geschrieben hast.. ist er leer... ihc bekomme aber eine response und alles.. aber keinen wert.. ( habs auf mehreren maschinen getestet )
»»
Und noch ein nachtrag... ich glaub ich sollte mir mehr zeit mit dem antworten lassen.. ;)
und zwar.. wenn ich einen snmpwalk auf 1.3.6.1.2.1.2.2.1.6 (ifTable.IfEntry.ifPhysAddress) bekomme ich wieder den seltsamen output wie vorher...
auf einer anderen maschine bekomme ich:
^@^N^L^H^ML
^@^N^L^H^MM
lg.
Die folgende Nachricht zum Thema stammt von: Klugscheiser, 31. 05. 2007, 11:14
Moin,
gib mal ein bischen mehr Input, auf welchen OS arbeitest Du, was sind das für Maschinen, die Du abfragst usw.
--Klug
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 31. 05. 2007, 11:26
»» Moin,
»»
»» gib mal ein bischen mehr Input, auf welchen OS arbeitest Du, was sind das für Maschinen, die Du abfragst usw.
»»
»» --Klug
also das skript rufe ich auf einem Linux rechner auf..
der hat auf allen anderen maschinen im snmp config file das recht sie abzufragen..
auf den anderen maschinen läuft Linux, windows, solaris..
ich frage momentan nur "Rechner" ab und keine andere HW (router usw.. ).
Die Informationen die ich hole sind CPUS, HDDS, IFS, OS, RAM, SWAP, MAC
soweit funktioniert alles, und es wird auch alles korrekt angezeigt.. nur der mac eintrag stimmt nicht..
sonst noch sachen die du brauchen könntest..?? ;) (ich bin ca. in einer std. wieder da)
lg. und danke für die Hilfe
Die folgende Nachricht zum Thema stammt von: Klugscheiser, 31. 05. 2007, 12:38
Mahlzeit,
wie sehen denn die anderen Zeichen auf der Konsole aus, wenn Du einen snmpwalk machst? Und was sagt locale?
Grüße vom Klugscheiser
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 31. 05. 2007, 13:08
»» Mahlzeit,
danke dir auch..
»» wie sehen denn die anderen Zeichen auf der Konsole aus, wenn Du einen snmpwalk machst?
Naja ich hab mir so ein kleines testcript geschrieben.. das sieht so ca aus:
@get = &snmpwalk( "group\@mashine","1.3.6.1.2.1.2.2.1.6") or die "no response";
foreach $desc( @get )
{
my $oid;
( $oid, $desc ) = split( ':', $desc, 2 );
print "$oid = $desc\n";
}
print "\n";
und das funktioniert einwandfrei für alle anderen OID's... hab normalen output mit dem ich was anfangen kann..
»» Und was sagt locale?
was meinst du mit locale..?
Grüße vom Klugscheiser
Die folgende Nachricht zum Thema stammt von: Klugscheiser, 31. 05. 2007, 13:13
moin,
mach doch mal einen snmpwalk ganz normal. Was steht denn hinter
interfaces.ifTable.ifEntry.ifPhysAddress.1 =
oder
1.3.6.1.2.1.2.2.1.6.1 =
den Gleichheitszeichen?
--Klug
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 31. 05. 2007, 13:21
»» moin,
»»
»» mach doch mal einen snmpwalk ganz normal. Was steht denn hinter
»»
wenn ich einen snmp walk auf die OID mache kriege ich keinen response.. (steht ja auch kein table mehr an der stelle)
»» interfaces.ifTable.ifEntry.ifPhysAddress.1 =
»» oder
»» 1.3.6.1.2.1.2.2.1.6.1 =
»» den Gleichheitszeichen?
»»
bei einem:
print &snmpget( "group\@maschine","1.3.6.1.2.1.2.2.1.6.x") or die "no response"; steht bei:
x=1:
x=2: 0"0"
x=3:
also diese 3 einträge gibt es unter .6.x
roemer
Die folgende Nachricht zum Thema stammt von: Klugscheiser, 31. 05. 2007, 13:27
»» »» moin,
»» »»
»» »» mach doch mal einen snmpwalk ganz normal. Was steht denn hinter
Machen Du bitte:
>/usr/bin/snmpwalk -r 10 -t 10 -v 1 -Cc hostname community .1.3.6.1
und auch das mal
>locale
Gruß vom Klugscheiser
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 31. 05. 2007, 13:37
»» Machen Du bitte:
»» >/usr/bin/snmpwalk -r 10 -t 10 -v 1 -Cc hostname community .1.3.6.1
»»
so sagt er mir das ich keine community angegeben habe... mit
/usr/bin/snmpwalk -r 10 -t 10 -v 1 -Cc -c hostname community .1.3.6.1 gehts aber der output is ziehmlihc LANG
soll ich ihn trotzdem posten..?
»» und auch das mal
»» >locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Die folgende Nachricht zum Thema stammt von: Klugscheiser, 31. 05. 2007, 13:52
moin,
»» »» Machen Du bitte:
»» »» >/usr/bin/snmpwalk -r 10 -t 10 -v 1 -Cc hostname community .1.3.6.1
»» »»
»» so sagt er mir das ich keine community angegeben habe... mit
»» /usr/bin/snmpwalk -r 10 -t 10 -v 1 -Cc -c hostname community .1.3.6.1 gehts aber der output is ziehmlihc LANG
»» soll ich ihn trotzdem posten..?
nur das da:
»» interfaces.ifTable.ifEntry.ifPhysAddress.1 =
»» oder
»» 1.3.6.1.2.1.2.2.1.6.1 =
»» »» >locale
»» LANG=en_US.UTF-8
interessant. Setz mal zum Testen
LANG=POSIX
LC_CTYPE=de_DE@euro
oder
LANG=de_DE@euro
LC_CTYPE=de_DE
--Klug
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 31. 05. 2007, 14:04
»» nur das da:
»»
»» »» interfaces.ifTable.ifEntry.ifPhysAddress.1 =
»» »» oder
»» »» 1.3.6.1.2.1.2.2.1.6.1 =
»»
AHA....
IF-MIB::ifPhysAddress.0 = STRING:
IF-MIB::ifPhysAddress.2 = STRING: 0:30:5:22:5:db
IF-MIB::ifPhysAddress.3 = STRING:
»» »» »» >locale
»» »» LANG=en_US.UTF-8
»»
»» interessant. Setz mal zum Testen
»» LANG=POSIX
»» LC_CTYPE=de_DE@euro
hab ich jetzt mal gemacht..
und dann mein script wieder asugeführt und auf 1.3.6.1.2.1.2.2.1.6.2 ein snmp geht gemacht... steht nachwievor 0"0" unter der OID
Die folgende Nachricht zum Thema stammt von: Klugscheiser, 31. 05. 2007, 14:39
moin,
»»
»» IF-MIB::ifPhysAddress.0 = STRING:
»» IF-MIB::ifPhysAddress.2 = STRING: 0:30:5:22:5:db
juhu, die habe ich auch, der Vendor-Code (Hersteller) der Mac ist die erste Hälfte:
00-30-05
Intel(R) PRO/1000 CT Network Connection ;-)
Sind das Rechner von Fujitsu-Siemens?
--Klug
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 31. 05. 2007, 14:44
»» juhu, die habe ich auch
»» Sind das Rechner von Fujitsu-Siemens?
löööl Ja sind sie.. ;)
naja aber das Problem hab ich noch immer das im Skript nichts ankommt... ich weiß aber absolut nicht warum...
Die folgende Nachricht zum Thema stammt von: Klugscheiser, 31. 05. 2007, 15:18
moin,
Du hast:
»» >locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
und siehst die phys.Addr als String per snmpwalk im Klartext in der Konsole (Ausgabemedium utf-8).
Wenn Du _Dein_ Ausgabemedium dazu bringst, auch utf-8 zu verwenden, solltest Du dann auch dasselbe sehen.
--Klug
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 31. 05. 2007, 15:30
ok danke.. guter tip.. werd ich mir anschaun
schönes Weekend schonmal.. und danke für die Hilfe
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 04. 06. 2007, 08:53
Also ich hab mich da jetzt ein bisschen rumgespielt und bin draufgekommen das die Werte dich in meinem Skript bekomme..
tatsächlich hex werte sind.. wenn ich den STring so wie er ist in UltraEdit kopiere und auf hex werte umstelle..
zeigt er mir die richtige Mac Adresse an.. ohne den Doppelpunkten zur trennung.....
also muss ich diese WErte jetzt irgendwie in einen lesbaren string umwandeln....
lg.
Die folgende Nachricht zum Thema stammt von: Klugscheiser, 31. 05. 2007, 15:53
»»
»» »» juhu, die habe ich auch
»» »» Sind das Rechner von Fujitsu-Siemens?
»» löööl Ja sind sie.. ;)
Alles keine Hexerei, guck mal:
Achtung lange Ladezeit!
http://standards.ieee.org/regauth/oui/oui.txt
--Klug
Die folgende Nachricht zum Thema stammt von: kleinerroemer, 04. 06. 2007, 07:47
»»
»» Achtung lange Ladezeit!
Na das is ja mal eine liste.... ;)
»»
»» http://standards.ieee.org/regauth/oui/oui.txt
»»
coole sache.. ;)
© 1998-2006
Impressum, Software: Classic Forum