Seite 1 von 1
alle computer die im netzwek sind anzeigen
Verfasst: Donnerstag 28. August 2008, 14:56
von Costi
es geht um ein serverloses protokoll.
ich muss alle computer, die im netzwerk sind einsehen koenen...
ich habe an broadcast pings gedacht, aber ich glaube nicht das windows vista das unterstuetzt?
moeglicher weise kann ich auch das ganze mit udp proadcasts machen, aber wie sicher ist udp in einem lokalen netzwerk? und wie sieht es mit der unterstuezung fuer udp broadcasts aus?
danke im voraus!
Verfasst: Donnerstag 28. August 2008, 16:04
von Lonestar
Hast du evtl daran gedacht in die
ARP- Tabelle zu gucken? da werden alle Rechner die im selben Netz wie du sind aufgeführt.
Verfasst: Donnerstag 28. August 2008, 17:14
von Costi
ok, gut zu wissen
in der hinsicht habe ich ein paar luecken
wieso zeigt meine arp tabelle (arp -a) nur manchmal einen anderen computer im netzwerk an? (sowohl unter linux als auch windows zeit arp -a in unregelmaessigen abstaenden den anderen pc nicht an)
Verfasst: Donnerstag 28. August 2008, 18:49
von Lonestar
hmm, da war ich wohl ein wenig zu voreilig mit meinem Beitrag. Das Problem dürfte sein das die Rechner in deinem Netz alle einzeln an nem Router angeschlossen sind, oder? Wenn dem so ist, dann vergiss meine Idee einfach wieder. Der Router sollte dafür sorgen das keine Pakete die für die anderen Rechne sind bei dir ankommen.
Wie genau sieht dein Netz denn aus, und wie viele Rechner musst du finden?
Verfasst: Donnerstag 28. August 2008, 19:00
von Costi
Das programm soll auserhalb meines netzwerkes auch funktionieren!
darueber wie die netzwerke aufgebaut sind, auf die es laufen soll habe ich keine angabe
Verfasst: Donnerstag 28. August 2008, 19:07
von veers
nmap -sP -oG -T5 192.168.1.1-255 - Und das du Netzwerke nicht von aussen Scannen können solltest dürfte dir ja klar sein

Verfasst: Donnerstag 28. August 2008, 20:00
von Lonestar
veers hat geschrieben:nmap -sP -oG -T5 192.168.1.1-255 - Und das du Netzwerke nicht von aussen Scannen können solltest dürfte dir ja klar sein

ich denke mal das er 250 Pings wild ins Netz eigentlich durch einen Broadcast unterbinden wollte, aber was anderes würde mir nu auch nich einfallen als alle möglichen Adressen auszuprobieren. Wird aber ein ziemlich nervendes Protokoll, wenn es bei jedem Start erst mal das Netz flutet ....

vor allem wenn man sich überlegt das es sich nicht nur um einen Rechner handelt der das macht.
Verfasst: Donnerstag 28. August 2008, 20:11
von veers
Ich dachte er will das als Netzwerk Tool o.ä. machen. Für eigene Protokolle gibt es da natürlich effizientere Mittel und Wege

Verfasst: Donnerstag 28. August 2008, 21:43
von Costi
Für eigene Protokolle gibt es da natürlich effizientere Mittel und Wege
zum beispiel...
Verfasst: Freitag 29. August 2008, 06:51
von kaschu
Costi hat geschrieben:
Für eigene Protokolle gibt es da natürlich effizientere Mittel und Wege
zum beispiel...
Zum Beispiel: Dein Sender schickt einen UDP Broadcast und Deine Clients antworten (q&d, nur zur Demo):
Code: Alles auswählen
# UDP Sender
import socket, sys
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.sendto("ping!", ('<broadcast>', 12345))
while 1:
(data, address) = s.recvfrom(2048)
if len(data) > 0:
print "Client %s pongt auf Port %s!" % address
und
Code: Alles auswählen
# Responder
import socket, sys
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(('',12345))
while 1:
(data, address) = s.recvfrom(2048)
if len(data) > 0:
print "got ping!"
s.sendto("pong!", address)
Wenn der Responder auf jedem Rechner im Netz läuft (innerhalb der broadcast domain), wird er antworten.
Alles andere (broadcast ping, SYN-connects, usw.) wird entweder nicht funktionieren (z. B. weil die meisten Betriebssysteme nich auf Ping-Broadcasts antworten) oder das NIDS schlägt an und alarmiert den Admin. Und von dem gibt es dann Haue.
Gruß
kaschu
Verfasst: Freitag 29. August 2008, 07:45
von veers
Ein vollständiges wenn auch nicht sehr effizientes - dafür einfaches - Beispiel findest du im
lanshark source code. Funktioniert mehr oder weniger wie das Beispiel von kaschu.
- Jonas
Verfasst: Freitag 29. August 2008, 16:32
von Costi
guut, dan muss ich das nur noch mit asyncore implementieren...