Problem mit Ping unter Windows

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
.exe
User
Beiträge: 27
Registriert: Mittwoch 14. Januar 2009, 11:16

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
Lonestar
User
Beiträge: 147
Registriert: Samstag 9. August 2008, 08:31

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
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

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
Zuletzt geändert von querdenker am Mittwoch 28. Januar 2009, 14:39, insgesamt 1-mal geändert.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Benutze das Modul subprocess und nicht os.popen.
.exe
User
Beiträge: 27
Registriert: Mittwoch 14. Januar 2009, 11:16

oh man... :roll:
Danke für die Hilfe jetzt habe ichs auch hin bekommen. :D
Antworten