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: 2
Registriert: Donnerstag 8. November 2018, 08:48

Donnerstag 8. November 2018, 09:02

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: 8593
Registriert: Sonntag 21. Oktober 2012, 17:20

Donnerstag 8. November 2018, 10:12

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

Donnerstag 8. November 2018, 11:55

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: 1423
Registriert: Samstag 2. Juni 2018, 10:21

Donnerstag 8. November 2018, 15:13

Mit dem Code im ersten Beitrag kann man auch nur *eine* IP herausfinden. Das muss ja nicht die einzige sein.

Code: Alles auswählen

    **** COMMODORE 64 BASIC V2 ****
 64K RAM SYSTEM  38911 BASIC BYTES FREE
   CYBERPUNX RETRO REPLAY 64KB - 3.8P
READY.
█
NicoleBerger
User
Beiträge: 2
Registriert: Donnerstag 8. November 2018, 08:48

Freitag 9. November 2018, 08:49

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: 1423
Registriert: Samstag 2. Juni 2018, 10:21

Freitag 9. November 2018, 11:48

@NicoleBerger: Am besten nimmst Du nmap. Es macht nicht so viel Sinn sich dieses Werkzeug in Python nachzuprogrammieren.

Code: Alles auswählen

    **** COMMODORE 64 BASIC V2 ****
 64K RAM SYSTEM  38911 BASIC BYTES FREE
   CYBERPUNX RETRO REPLAY 64KB - 3.8P
READY.
█
Antworten