IP Adressen im Netzwerk finden

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
BlackMamba
User
Beiträge: 77
Registriert: Samstag 24. März 2007, 23:22
Wohnort: Germany,NRW,

Samstag 4. August 2007, 17:48

Hallo zusammen,

ein paar Kunpels und ich veranstalten öfter LAN-Partys, wir vergeben vorher immer eine Liste mit IP Adressen, aber es gibt immer welche die sich selbst welche zulegen und wir von daher nie genau wissen wer jetzt mit dabei ist oder nicht. Desswegen wollte ich ein Programm zusammenbasteln, mit den man alle möglichen IP-Adressen durchscannen kann. Dass kann ruhig ein paar Minuten dauern. Als Basis wollte ich das Modul subprocess benutzen, so ähnlich wie in dem Artikel hier :
http://www.python-forum.de/topic-11548.html

Ich habe jetzt schon ein paar mal probiert, ein Programm zu schreiben, dass alles IP Adressen durchgeht, aber irgenwie will das nicht und von de rLogik her, bin ihc mir auch nicht so sicher, wie man ein Programm implementiert, dass alle IP Adressen durchgehen kann.
Also im Prinzip fehlt mir eine Idee bze win Algorithmus, mit dem ich alle Varianten einer IP Adresse durchgehen kann. Ich habe es schon mit diversen Verknüfungen verschiedener Schleifenarten probiert...aber taugt alles nichts.

Hier im Forum habe ich auch schon gesucht, genau so wie bei google. Da ich ja auch nur ein Mensch bin, kann es aber auch gut sein, dass ich was übersehen habe.

Würd mich über ein paar Ideen freuen.

Danke!

Lg BlackMamba
Benutzeravatar
tiax
User
Beiträge: 152
Registriert: Samstag 23. Juli 2005, 17:28
Kontaktdaten:

Samstag 4. August 2007, 18:15

Hm, das klappt eigentlich auch ohne Python auf der Konsole mit nmap ganz gut. Damit ist es sogar recht einfach:

Code: Alles auswählen

nmap -sP 192.168.0.*
Wenn du nur die Adressen in einer Datei willst:

Code: Alles auswählen

nmap -sP 192.168.0.*|grep "appears to be up"|awk {'print $2'}>ips.txt
Ne invoces expellere non possis
[url=xmpp://florian@florianheinle.de]xmpp:florian@florianheinle.de[/url]
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Samstag 4. August 2007, 18:44

Um was für eine Größenordnung geht es denn? Mit managebaren Switchen kann man sowohl ungewollte Adressbereiche sperren als auch herausfinden, wer da so alles dran hängt. Und ab einer gewissen Größe kann man auch über den Einsatz von DHCP nachdenken, wenn man die Möglichkeit (z.B. über Layer-3-Switche) hat, Rogue-DHCPds auszuschließen oder zumindest zu orten.
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Samstag 4. August 2007, 19:07

Hi BlackMamba...

versteh ich dich richtig, du willst alle Adressen von 1.0.0.1 bis 255.255.255.254 durchprobieren? Das wuerde wirklich ewig dauern...

EDIT: Aber wenn du wirklich unbedingt willst (ich rate wie gesagt davon ab, da du nur die wenigsten dieser Adressen brauchen wirst...):

Code: Alles auswählen

for q3 in xrange(1, 255):
    for q2 in xrange(255):
        for q1 in xrange(255):
            for q0 in xrange(255):
                print "%i.%i.%i.%i" %(q3,q2,q1,q0)
...das ist die einfachste Variante alle IP-Adressen zu generieren, die es gibt, wuerd ich meinen.
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
BlackMamba
User
Beiträge: 77
Registriert: Samstag 24. März 2007, 23:22
Wohnort: Germany,NRW,

Samstag 4. August 2007, 19:22

@nkoehring: Danke für den Tipp, ich werde alles etwas begrenzen, schon richtig, aber so hatte ich mir das im Prinzip gedacht gehabt. Ich werde es mal ausprobieren.

@Y0Gi:
Um was für eine Größenordnung geht es denn? Mit managebaren Switchen kann man sowohl ungewollte Adressbereiche sperren als auch herausfinden, wer da so alles dran hängt. Und ab einer gewissen Größe kann man auch über den Einsatz von DHCP nachdenken, wenn man die Möglichkeit (z.B. über Layer-3-Switche) hat, Rogue-DHCPds auszuschließen oder zumindest zu orten.

Ich habe leider nicht ganz verstanden, wass du mir damit sagen willst. Kannst du mir das noch mal genauer erklären? Danke!!!!
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Samstag 4. August 2007, 19:27

Wieviele Teilnehmer haben eure LAN-Parties denn?
BlackMamba
User
Beiträge: 77
Registriert: Samstag 24. März 2007, 23:22
Wohnort: Germany,NRW,

Samstag 4. August 2007, 19:28

also wir hatten schon alles, von 2 - ca 100
BlackMamba
User
Beiträge: 77
Registriert: Samstag 24. März 2007, 23:22
Wohnort: Germany,NRW,

Samstag 4. August 2007, 19:32

da wir gerade schon beim Thema Lan-Partys sind, gibt es eine Modul für Python, mit dem man dann, wenn man die IP-Adresse hat, auf freigegebene Ordner zugreifen kann, zwecks Datenaustausch oder ähnlichem.....? Quasie wie das auch im Explorer funktioniert? Nur ist selbst geschreiben viel schöner finde ich.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Sonntag 5. August 2007, 02:07

Du kannst auf die Freigaben zugreifen wie auf jeden anderen Ordner.
Also genauso wie du mit Python Ordner und Dateien behandelst so arbeitest du auch mit Netzwerkfreigaben.

Der Aufwand lohnt sich aber nicht, meiner Meinung nach.

Ich finde für Lans am besten: alle selbe Workgroup und IP automatisch ;-)
Ich verstehe zwar nicht warum, aber irgendwie hilft es wenn alle die selbe Workgoup haben.
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Sonntag 5. August 2007, 02:19

Bei aelteren Windozern hilft es, wenn die gleiche Workgroup eingestellt ist, ja. Aber an sich sollte DHCP das Problem generell am besten loesen... und um Rogues noch besser auszuschließen, sollte der DHCP-Server beim verteilen der Adressen auch noch die jeweiligen MACs eintragen, die dann ausschließlich erlaubt/reroutet werden.
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
BlackMamba
User
Beiträge: 77
Registriert: Samstag 24. März 2007, 23:22
Wohnort: Germany,NRW,

Sonntag 5. August 2007, 09:58

ich würde es aber gerne so machen :-)


Wie kann man denn mit Python Dateien&Ordner anzeigen lassen?



Einen schönen Sonntag noch euch allen!!!!
BlackMamba
User
Beiträge: 77
Registriert: Samstag 24. März 2007, 23:22
Wohnort: Germany,NRW,

Sonntag 5. August 2007, 12:59

Code: Alles auswählen

import subprocess

for q3 in xrange(1, 255):
    for q2 in xrange(255):
        for q1 in xrange(255):
            for q0 in xrange(255):
		q3s = str(q3)
		q2s = str(q2)
		q1s = str(q1)
		q0s = str(q0)
		Adresse = q3s+'.'+q2s+'.'+q1s+'.'+q0s
		proc = subprocess.Popen(["ping", "Adresse"], stdout = subprocess.PIPE, shell = True)
		print "Antwort von" in proc.stdout.read() and "Computer ist im Netz" or "Computer ist offline"
                print "%i.%i.%i.%i" %(q3,q2,q1,q0)
ich weiß, dass DIng hat ne lange laufzeit aber egal...wisst ihr ob es eine deutsche Anleitung für das Modul subprocesse gibt? Bei der auf englische blicke ich nicht ganz durch. Ich möchte nämlich die IP Adressen die vorhanden und im Netzwerk sind anzeigen lassen und in einer Variabel einlesen um diese so später in ein File einlesen zu können.

Lg blackMamba

Edit (birkenfeld): Für Code gibt es Code-Tags.
thelittlebug
User
Beiträge: 188
Registriert: Donnerstag 20. Juli 2006, 20:46
Wohnort: Wien
Kontaktdaten:

Sonntag 5. August 2007, 17:30

hi,

man könnte den switch auch noch mit falschen mac adressen flooden damit der cache überläuft und er alle paket an alle schickt, nennt sich arp bzw. mac flood.
vorsicht: die netzwerkperformance bricht ein ;)

die könnte man nun im promiscuousmode abfangen und einfach alle ip adressen rausfinden die "in verwendung sind"
http://de.wikipedia.org/wiki/Promiscuous_Mode

bedingung:
der switch lässt sich vom flooden beeindrucken und schaltet in den hubmode (das ist eine art fallback damit das netz nicht komplett ausfällt)
die geräte die ich finden will senden auch ab und zu was damit ich das paket mit der absenderadresse bekomme

dann sollte das die schnellste lösung sein.

für das flooden könnte man python verwenden. zum auslesen der pakete tcpdump und zum verarbeiten der daten wieder python.

obwohl ich glaube das dein problem eigentlich ein anderes ist. entweder du würdest gern von leuten die du nicht kennst etwas erfahren was dich wenig angeht oder ihr schafft es nicht euch abzusprechen. es kann ja kein problem sein sich auf einen adressbereich zu einigen ;)
da kannst du dann auch im vernünftigen zeitrahmen durchscannen so wie es bereits ein vorredner anhand des beispiels mit nmap erklärt hat.

zusätzlich wird es relativ unwarscheinlich sein das man auf lanparties eine iprange != 10.0.0.0/8 oder 192.168.0.0/16 verwendet.

lgherby
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Sonntag 5. August 2007, 20:31

ARP-Flooding ist mit Sicherheit kein guter Weg ;)

Vorweg: So interessant das ist, das selbst zu schreiben, so sehr gibt es auch mehr als genug fertige Tools für solche Low-Level-Netzwerk-Vorhaben.

Schau dir lieber mal Tools wie z.B. arpwatch/arpwatch-ng an, die protokollieren, welche MAC-Adressen als welche IP-Adressen so im Netz unterwegs sind. In einem kleinen Netz kann man ja dann auch mal den Monitoring-Port eines besseren Switches verwenden, um die Daten zu erhalten. Bei großen Netzen hilft es dann wie gesagt, möglichst schon an den Clientswitches oder zur Not am Backbone den Zugriff von anderen Adressen zu blocken.

thelittlebug hat geschrieben:zusätzlich wird es relativ unwarscheinlich sein das man auf lanparties eine iprange != 10.0.0.0/8 oder 192.168.0.0/16 verwendet.
Wir benutzen u.a. 172.16.0.0/12 :)
BlackMamba
User
Beiträge: 77
Registriert: Samstag 24. März 2007, 23:22
Wohnort: Germany,NRW,

Sonntag 5. August 2007, 21:21

@thelittlebug: obwohl ich glaube das dein problem eigentlich ein anderes ist. entweder du würdest gern von leuten die du nicht kennst etwas erfahren was dich wenig angeht also ich will nicht hacken oder so, wenn du darauf hinaus willst....darauf bin ich nicht hinaus und jede weiter Anzüglichkeit in die Richtung verbitte ich mir.

@ Y0gi & thelittlebug: leider habe ich wenig verstanden, von dem was ihr mir geschrieben habt. Wie gesagt ich bin in dem Bereich Netzwerk relativer Anfänger und möchte das einfach verstehen lernen. Ich weiß das es entsprechenede Tools gibt, nur glaube ich, dass wenn man Zeit darin investiert und sich etwas demit beschäftigt, man später viel mehr davon hat, als wenn man irgendwelche Tools benutzt. Und da ich mich dafür interessiere, möchte ich es halt lernen. Irgendwelche Tools benutzten von irgend welchen Zeitschriften kann ja jeder.... Denke ich mal....und da werdet ihr mir wohl zustimmen!!!!

Also um auf das eigeldliche Problem zurück zukehren....Ich möchte mit einem IP scan, ähnlich wie oben, mehrere IP Adrssen durchgehen...Ich hab jetzt eine bei uns im internen Netzwerk gefunden, z.B. die von meinem besten Freund. Mit welchem Modul kann ich nun mit Hilfe der IP-Adresse auf die freigegebenen Daten zugreifen? Ich habe wie oben schon erwähnt danach lange gesucht, aber ich finde einfach nichts passendes dazu.
Antworten