AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Subnetzmaske zu einer lokalen IP auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Subnetzmaske zu einer lokalen IP auslesen

Ein Thema von little_budda · begonnen am 8. Dez 2006 · letzter Beitrag vom 14. Dez 2006
Antwort Antwort
Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#1

Subnetzmaske zu einer lokalen IP auslesen

  Alt 8. Dez 2006, 03:23
Hallo,

ich habe hier über das Forum Code bekommen um die IPs meiner Netzwerkkarten auszulesen.

Delphi-Quellcode:
function GetLocalIPs(const Lines:TStrings):Boolean;
type
  PPInAddr= ^PInAddr;
var
  wsaData: TWSAData;
  HostInfo: PHostEnt;
  HostName: Array[0..255] of Char;
  Addr: PPInAddr;
begin
  Result:=False;
  Lines.Clear;
  if WSAStartup($0102, wsaData)=0 then
  try
    if gethostname(HostName, SizeOf(HostName)) = 0 then Begin
       HostInfo:= gethostbyname(HostName);
       if HostInfo<>nil then Begin
          Addr:=Pointer(HostInfo^.h_addr_list);
          if (Addr<>nil) AND (Addr^<>nil) then
             Repeat
                    Lines.Add(StrPas(inet_ntoa(Addr^^)));
                    inc(Addr);
             Until Addr^=nil;
       end;
    end;
    Result:=True;
  finally
    WSACleanup;
  end;
end;
Der Code ist klasse.
Die IPs werden hiermit alle korrekt ausgelesen wenn die entsprechende Netzwerkkarte aktiv ist.
(Wenn sie einen Link hat)

Ich suche nun eine Variante um die Subnetzmaske der IP auszulesen
damit ich den erreichbaren Adressbereich der jeweiligen IP berechnen kann.

Ich habe mich dazu mit den Beispielen aus dem Forum zu "GetAdaptersInfo" beschäftigt.
Die Beispiele liefern zwar alle gewünschten Informationen, aber der Code ist sehr mächtig.
Da ich gerne Code einsetze den ich auch verstehen kann,
hatte ich gehofft hier eine Version zu finden die etwas einfacher ist.

Gruß Holger.
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat
1ceman

Registriert seit: 16. Dez 2005
Ort: Odenthal
134 Beiträge
 
Delphi 6 Personal
 
#2

Re: Subnetzmaske zu einer lokalen IP auslesen

  Alt 14. Dez 2006, 17:37
Du brauchst sie net auslesen. du kannst anhand der IP sehen welche subnetzmaske verwendet wird.
Wenn der erste "Zahl" der IP-Adresse im Bereich 0-127 liegt dann ist die subnetzmaske 255.0.0.0
im Bereich 128-191 ist sie 255.255.0.0
und im bereich 192-255 ist sie 255.255.255.0
Roman
  Mit Zitat antworten Zitat
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Subnetzmaske zu einer lokalen IP auslesen

  Alt 14. Dez 2006, 17:39
nicht direkt iceman

das sind die stani subnetmasken für a b c netze mann kann die aber auch ändern ^^.
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Subnetzmaske zu einer lokalen IP auslesen

  Alt 14. Dez 2006, 17:45
[OT=Leicht]
Is des nich sogar so das an der Stelle von der Subnetmaske die Stelle scih irgendwie auf die Ip bezeiht
. also ich weiß nich wie ich das schreiben soll ...
Also halt das z.B.: die Null an letzter stelle dafür steht das diese Netzwerkkarte alle addressen dieses bereichs erkennen kann?
und wenn man z.B. 0.0.0.0 machen würde dann hätte man den gesammten bereich? allso alle möglichkeiten?
(diese überlgung würde sich deken wenn du mit ideser Info den Addressbereichbestimmen könntes oder?)

Leuchtend eGRüße
Stefan
alias Light
[/OT]
Stefan
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Subnetzmaske zu einer lokalen IP auslesen

  Alt 14. Dez 2006, 19:09
Vielleicht hilft Dir das etwas weiter: -> msdn Link

Und hier findest Du die obige Lösung in Delphi umgesetzt.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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