J
jaykay89
Registriert
Thread Starter
- Dabei seit
- 18.09.2007
- Beiträge
- 3
- Reaktionspunkte
- 0
Hi ihr alle
Also is so:
Ich bastle schon seit einiger Zeit an einem applescript, dass mir in einem selbst definierten Subnetz alle IPs durchpingt. Code dazu hab ich erfolgreich geschrieben. Zumindest wenn man pro IP einen Sekunde Zeit hat. Im ganzen dauert das Pingen dann 4 min und genau hier dauert es mir entschieden zu lange. Wäre cool wenn Ihr mir helfen könntet den Code zu optimieren zum Beispiel indem er spätestens nach 300 ms den ping- Befehl abbricht und auswertet. Würde mich über Tipps, Ideen oder sogar Lösungen freuen.
(Ich hoffe ich habe nicht mit zu vielen Wörtern um mich geworfen, die eig gar nichts damit zu tun habe.)
grüße und danke
jk89
Ablauf:
Es erfolgt eine Abfrage welches Subnetz (z.B. 192.168.178. ) "durchgepingt" werden soll. Dann startet der "Pingablauf". Am Ende wird ausgegeben welche IPs ON sind.
Also is so:
Ich bastle schon seit einiger Zeit an einem applescript, dass mir in einem selbst definierten Subnetz alle IPs durchpingt. Code dazu hab ich erfolgreich geschrieben. Zumindest wenn man pro IP einen Sekunde Zeit hat. Im ganzen dauert das Pingen dann 4 min und genau hier dauert es mir entschieden zu lange. Wäre cool wenn Ihr mir helfen könntet den Code zu optimieren zum Beispiel indem er spätestens nach 300 ms den ping- Befehl abbricht und auswertet. Würde mich über Tipps, Ideen oder sogar Lösungen freuen.
(Ich hoffe ich habe nicht mit zu vielen Wörtern um mich geworfen, die eig gar nichts damit zu tun habe.)
grüße und danke
jk89
Ablauf:
Es erfolgt eine Abfrage welches Subnetz (z.B. 192.168.178. ) "durchgepingt" werden soll. Dann startet der "Pingablauf". Am Ende wird ausgegeben welche IPs ON sind.
Code:
display dialog "IP- Bereich :" default answer "192.168." buttons {"OK", "Cancel"} default button 1 with icon note
copy the result as list to {ipbereich, button_pressed}
if (button_pressed = "OK") then
ping(ipbereich)
end if
on ping(ipbereich)
set ipend to 1
set liste to ""
repeat
try
if (do shell script "ping -t 1 -s 1 " & ipbereich & "." & ipend) contains "0% packet loss" then
set liste to (liste & " " & ipend)
end if
end try
if (ipend = 255) then exit repeat
set ipend to (ipend + 1)
end repeat
display dialog liste default answer "192.168." buttons {"OK", "Cancel", "Restart"} default button 1 with icon note
copy the result as list to {ipbereichneu, button_pressed}
if (button_pressed = "OK") then
set ipbereich to ipbereichneu
ping(ipbereich)
end if
if (button_pressed = "Restart") then
ping(ipbereich)
end if
end ping