Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
wotan
- Beiträge: 113
- Registriert: 16.03.2004 20:41:04
Beitrag
von wotan » 23.09.2004 12:45:50
Hallo,
wie kann ich mit
die Ausgabe von Ping auswerten?
Ich möchte damit eigentlich nur prüfen, ob die IP belegt ist oder nicht vergeben ist.
Momentan bekomme ich nur als Ausgabe:
wenn die IP da ist und
bei einer mir bekannten IP die noch nicht vergeben ist:
Code: Alles auswählen
4 packets transmitted, 0 packets received, 100% packet loss
Das Ergebnis zeigt mir aber nur, das alle Pakete nicht angekommen sind.
mfg
wotan
-
QT
- Beiträge: 1322
- Registriert: 22.07.2004 21:08:02
- Wohnort: localhost
Beitrag
von QT » 23.09.2004 12:53:11
Bin mir nicht sicher, ob ich wirklich verstanden habe, was Du moechtest, mir kam aber folgendes in den Sinn:
Code: Alles auswählen
if ping -c1 $HOST >/dev/null 2>&1; then
vergeben
else
nicht vergeben
fi
-
wotan
- Beiträge: 113
- Registriert: 16.03.2004 20:41:04
Beitrag
von wotan » 23.09.2004 14:07:47
Code: Alles auswählen
if ping -c1 $HOST >/dev/null 2>&1; then
vergeben
else
nicht vergeben
fi
wie kann ich diese Abfrage verstehen? Sorry, aber das ist für mich Bahnhof.
mfg
wotan
-
Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Beitrag
von Savar » 23.09.2004 14:27:37
tja.. wär erstmal interessant in was du programmierst... sieht ein wenig nach PHP aus? oder Perl?
QT hat ein Shell Script geschrieben..
es funktioniert so:
du musst den Befehl "ping -c1 $HOST >/dev/null 2>&1" für sich sehen..
er pingt an und alle Ausgaben werden auf /dev/null (ins nichts) geschickt.. aber der RETURN Wert wird an "if" übergeben..
also
if "RECHNER_ANPINGEN_ERFOLGREICH"
then
echo "vergeben"
else
echo "nicht vergeben"
fi
-
wotan
- Beiträge: 113
- Registriert: 16.03.2004 20:41:04
Beitrag
von wotan » 23.09.2004 14:44:11
Was er geschrieben hat, war mir klar, nur nicht was die Zeile
bedeuten soll.
Somit kann ich ja nun auch nicht prüfen ob die IP auf einen Server aufgelegt ist oder nicht. Darum geht es mir.
Andere Frage.
Wie bekomme ich die Komplette Ausgabe von:
in eine Var, also nicht nur wie es jetzt ist die letzte Zeile von ping?
[edit]^^ hat sich erledigt, bin schon dahintergekommen[/edit]
mfg
wotan
-
Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Beitrag
von Savar » 23.09.2004 15:17:59
sorry, aber erstens weiß ich immer noch nicht in welcher Prog.-Sprache du dich bewegst und zweitens willst du scheinbar eine DEFINITIVE Aussage erhalten ob eine IP vergeben ist oder nicht..
mit "Ping" kriegst du aber nur raus ob ein Rechner die IP grad hat oder nicht.. aber du kriegst NICHT raus ob die IP wirklich GAR nicht vergeben ist.. der Rechner mit der IP 192.168.0.56 könnte einfach aus sein und schon würde "ping" dir sagen, dass die IP frei ist.. und wenn er an ist, sagt dir ping nur das er an ist..
-
wotan
- Beiträge: 113
- Registriert: 16.03.2004 20:41:04
Beitrag
von wotan » 23.09.2004 15:29:12
Das ganze soll mit PHP umgestezt werden.
Aber so wie ich das jetzt langsam mit bekomme ist es nicht möglich irgendwie zu prüfen ob eine IP aufgeschaltet ist oder nicht. Gut dann muss ich mir was anderes einfallen lassen.
mfg
wotan
-
Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Beitrag
von Savar » 23.09.2004 15:31:34
was willst du eigentlich erreichen (also wirklich etwas detailierter) ??
-
wotan
- Beiträge: 113
- Registriert: 16.03.2004 20:41:04
Beitrag
von wotan » 23.09.2004 15:42:17
Monitoring-Tool schreiben!
Ablauf:
- Prüfen ist die IP erreichbar und aufgeschaltet
Wenn erreichbar, dann prüfe Dienste
Dienste nicht erreichtbar, schicke Meldung an Admin
Wenn nicht errichbar, schicke Meldung sofort an Admin
mfg
wotan
-
Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Beitrag
von Savar » 23.09.2004 16:04:27
hmm.. ach sooo.. du hast das Problem, dass du nicht weißt WELCHE Rechner online sein müssten? Also du willst quasi automatisch herausfinden ob ein Rechner noch da ist oder nicht?
Hmm.. ist eigentlich nicht möglich... es ginge vielleicht indem du dir eine Logik aufbaust das du eine eigene Tabelle hälst und einfach bei jedem Ping versuch per "nmap" einfach das Netz durchpingst in welchem die Rechner stehen und dann sobald einmal eine IP antwortet diese einfach in deine Tabelle eintragen und ab dann immer mit überwachen.. und dann reicht es ja aus alle IPs in der Tabelle mit dem Printout von "nmap" zu vergleichen...
oder was hälst du davon?