Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Alle IPs im Netz (https://www.delphipraxis.net/193460-alle-ips-im-netz.html)

Mattze 2. Aug 2017 17:09

Alle IPs im Netz
 
Hallo,

ich suche nach einer möglichst schnellen Variante, alle existierenden IP-Adressen im LAN zu bekommen.
Alles anpingen und auf Antwort warten, ist einfach zu langsam.

Eigentlich möchte ich alle Netzressourcen auflisten.
Dazu nimmt man normalerweise WNetEnumResource.
Nun habe ich aber einen Drucker im LAN, der natürlich eine IP-Adresse hat und tadellos funktioniert, aber mit WNetEnumResource nicht aufgelistet wird.
Ich verstehe den aber trotzdem auch als Netzressource und möchte ihn mit auflisten.
(Ein anderer Drucker ist per WiFi im WLAN. Der wird mit WNetEnumResource aufgelistet! Wieso der und der andere nicht?)

UDP-Broadcast wäre vielleicht ganz gut, aber da sehe ich nicht durch. Wie kriege ich die Antwort da mit? Nur per Thread? Und antwortet der Drucker überhaupt auf ein Broadcast?

Gruß
Mattze

Aviator 2. Aug 2017 17:23

AW: Alle IPs im Netz
 
Wie wäre es per SNMP? Speziell wenn es um Drucker geht. Setzt natürlich voraus, dass SNMP vom Drucker unterstützt wird (das macht eigentlich jeder neuere Drucker) und aktiviert ist.

Mattze 2. Aug 2017 18:31

AW: Alle IPs im Netz
 
Hallo,

und wie macht man das mit SNMP?
Ich habe keinen Schimmer und stochere jetzt erst mal überall rum.

Gruß
Mattze

PS: Ach so: Alles unter Delphi 7 pro.

himitsu 2. Aug 2017 19:20

AW: Alle IPs im Netz
 
Und PING geht auch nur, wenn die Gegenseite überhaupt Lust hat und sich outen will.

PING: Du rufst dem Anderen (in einem bestimmten Haus, bzw. an seiner Adresse/IP) ein "Hallo" zu
und der Andere antwortet dir dann darauf. Aber er kann auch keine Lust haben und antwortet nicht, was aber nicht bedeutet, dass er nicht daheim ist.
Oder vielleicht sagt sich och der Türsteher (Firewall), dass er deinen Anruf nicht durch lässt.


Wenn du nicht einen bestimmten Rechner/Gerät suchst, sondern ein gewisses Programm (hier die Firmware des Druckers), dann versuche direkt bei ihm anzufragen, auf seinem Port (da, wo auch der Druckertreiber mit ihm redet).



Alternativ einen BROADCAST (Rundruf) ins Netz und darauf warten, dass sich die Anderen bei dir melden, anstatt jeden Einzelnen unter jeder verfügbaren IP zu suchen. (dazu würde auch SNMP zählen)

nahpets 2. Aug 2017 19:33

AW: Alle IPs im Netz
 
Ist da Working with SNMP in Delphi was dabei?

Neumann 2. Aug 2017 20:50

AW: Alle IPs im Netz
 
Falls man das nicht in ein eigenes Programm einbauen muss, ist Netscan für diesen Zweck gut geeignet. Wie das intern funktioniert kann ich nicht sagen, möglicherweise sendet es auch nur Pings.

Rollo62 4. Aug 2017 08:33

AW: Alle IPs im Netz
 
Welches Netscan meinst du denn, oder das NetPScan von NirSoft ?

Sherlock 4. Aug 2017 09:35

AW: Alle IPs im Netz
 
Um Multithreading wirst Du nicht herumkommen. Immerhin gilt es 254 Adressen abzufragen, und jede darf einen Timeout von ein paar Sekunden für sich beanspruchen. Ping finde ich gar nicht so schlecht, die meisten Geräte antworten von Haus aus auf einen Ping. SNMP ist natürlich auch eine Klasse Sache, nur etwas anspruchsvoller.

Sherlock

Aviator 4. Aug 2017 11:19

AW: Alle IPs im Netz
 
Zitat:

Zitat von Sherlock (Beitrag 1378049)
Um Multithreading wirst Du nicht herumkommen. Immerhin gilt es 254 Adressen abzufragen [...]

Er hat die Größe seines Netzwerkes ja noch nicht angesprochen. :twisted:
Ich vermute zwar auch, dass es sich um ein /24 Netz handelt, aber es könnte ja auch ein /8 /16 oder /28 Netz sein. Er weiß. Dann würde es ziemlich lang dauern. Bei /28 kann man dann noch ohne Threads arbeiten. Das geht dann noch schnell genug. :)

Zitat:

Zitat von Sherlock (Beitrag 1378049)
SNMP ist natürlich auch eine Klasse Sache, nur etwas anspruchsvoller.

Die Indys haben eine TIdSNMP Komponente mit an Board. Die habe ich mal benutzt. Das ging eigentlich noch recht gut. SourceCode habe ich aktuell keinen parat. Es waren auch nur feste MIBs die ich abgefragt hatte.

nahpets 4. Aug 2017 11:26

AW: Alle IPs im Netz
 
Schau mal bitte hier CodeCentral - Embarcadero - ID: 27482, NetUtils Pack v.2.1
Quelltexte zu 'ner Menge "Netzwerkkram" u. a. SnmpEye.

Compilierte Versionen sind im ZIP enthalten.

(Eine Anmeldung an der Seite ist erforderlich -> Developer Network and Registered User Login)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz