Welche Rechner sind mit welcher IP im lokalen Netzwerk angemeldet?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
NicoleBerger
User
Beiträge: 7
Registriert: Donnerstag 8. November 2018, 08:48

Hallo,
mit dem folgenden Code kann ich nur meine lokale IP Adresse herausfinden.

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
print(s.getsockname()[0])
s.close()

Ich hätte aber gerne eine Übersicht über alle im lokalen Netzwerk angemeldeten Rechner und deren IP Adressen 192.168.xxx.xxx in einer Liste!

Wie muss der Code geändert werden?

Ich danke euch für eure Vorschläge. Ich nutze Python 3.7 und mir genügt der Code ohne grafische Oberfläche.
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

Das einfachste ist, alle IP-Addressen durchzuprobieren und zu hoffen, dass der Rechner auch auf Deine Anfrage antwortet.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

So einfach ist das nicht. Netzwerktopologie und Rechnerkonfiguration spielen da eine Rolle. Wenn zB deren Firewall sagt "noe, ICMP nehm ich nicht", dann kommst du darueber nicht ran. Wenn auch alles eingehenden Ports zu sind, dann ist der Rechner "tot" aus Sicht des anrufenden Rechners.

Ich wuerde mal nmap probieren. https://security.stackexchange.com/ques ... my-network Da werden auch noch alternative Strategien besprochen. Und dann gibt's ja auch noch ARP und den ganzen Ethernet layer.
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Mit dem Code im ersten Beitrag kann man auch nur *eine* IP herausfinden. Das muss ja nicht die einzige sein.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
NicoleBerger
User
Beiträge: 7
Registriert: Donnerstag 8. November 2018, 08:48

Sirius3 hat geschrieben: Donnerstag 8. November 2018, 10:12 Das einfachste ist, alle IP-Addressen durchzuprobieren und zu hoffen, dass der Rechner auch auf Deine Anfrage antwortet.
Wie müsste dann der Python Code lauten?
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@NicoleBerger: Am besten nimmst Du nmap. Es macht nicht so viel Sinn sich dieses Werkzeug in Python nachzuprogrammieren.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten