Seite 1 von 1

Problem mit Ping unter Windows

Verfasst: Mittwoch 28. Januar 2009, 14:02
von .exe
Hi,

habe da mal ne frage. Also ich würde gerne ne Liste an IP addressen unter windows anpingen lassen. Naja habe da auch was zu gefunden und nen bisell gebastelt.

Code: Alles auswählen

import os
import sys
from threading import Thread

class testit(Thread):
	def __init__(self,ip):
		Thread.__init__(self)
		self.ip = ip
		self.status = 0
		self.report = ("Keine Antwort", "könnte ein Problem sein","Server ist da")
	def run(self):
		pingaling = os.popen("ping "+self.ip+" -n 2","r")
		while 1:
			line = pingaling.readline()
			if not line:
				break
			if 'Reply from '+self.ip in line:
				self.status += 1

if __name__ == '__main__':
	pingliste = []
	ipliste = ("10.10.97.155","10.10.97.56","10.10.60.194")
	for ipaddresse in ipliste:
		current = testit(ipaddresse)
		pingliste.append(current)
		current.start()

	for pingle in pingliste:
		pingle.join()
		print "IP: "+pingle.ip+" = "+pingle.report[pingle.status]

Nur das Problem an der sache ist es das wenn ich mit dem Programm die ips an pinge bekomme ich "Keine Antwort" und wenn ich das über die console mache bekomme ich eine. Kann mir da wer weiter helfen ;(

mfg
.exe

Verfasst: Mittwoch 28. Januar 2009, 14:35
von Lonestar
hast du dir denn mal angeschaut was dir

pingaling = os.popen("ping "+self.ip+" -n 2","r")

zurückgibt? Da meine Windows als Sprache deutsch eingestellt hat kann das bei mir auf keinen Fall laufen- könnte es sein das du das gleiche Problem hast?

bei mir kommt als Meldung jedenfalls zurück:

Code: Alles auswählen

Ping wird ausgef

Verfasst: Mittwoch 28. Januar 2009, 14:37
von querdenker
Schau dir mal an, was in line (Zeile 15) steht und auf was du in Zeile 18 mit dem If reagierst.
Bei mir geht es ;-)

EDIT: Da war wer schneller...
@Lonestar : congrats

Verfasst: Mittwoch 28. Januar 2009, 14:38
von derdon
Benutze das Modul subprocess und nicht os.popen.

Verfasst: Mittwoch 28. Januar 2009, 15:04
von .exe
oh man... :roll:
Danke für die Hilfe jetzt habe ichs auch hin bekommen. :D