Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Netzwerkkarten Treiber Windows XP (https://www.delphipraxis.net/50370-netzwerkkarten-treiber-windows-xp.html)

mumu 24. Jul 2005 17:38


Netzwerkkarten Treiber Windows XP
 
ich entwickele einen Netzwerkkarten Treiber mit c++ unter Windows XP.

ich möchte jetzt die NAT port mapping table von windows xp auslesen? wie kann ich das anstellen?
hab schon msdn usw.. geguckt, aber leider nichts gefunden. wäre für jeden tipp dankbar.

danke schonmal
gruß

DP-Maintenance 24. Jul 2005 17:45

DP-Maintenance
 
Dieses Thema wurde von "alcaeus" von "Programmieren allgemein" nach "Windows API / MS.NET Framework API" verschoben.
Gehoert wohl eher zur API ;)

Duffy 24. Jul 2005 17:49

Re: Netzwerkkarten Treiber Windows XP
 
Hallo mumu,
wozu um Himmelswillen braucht Windows XP NAT?

bye
Claus

Olli 24. Jul 2005 19:46

Re: Netzwerkkarten Treiber Windows XP
 
Moin,

Treiber in C++ ist eine etwas zwiespältige Sache, zumindest wenn wir von K-Mode reden.

Was du auslesen willst, sollte mit WMI gehen, ansonsten gibt es in der IP-Helper-API jede Menge sinnvolle Funktionen zum Thema: MSDN-Library durchsuchenIP Helper Functions. Allerdings bin ich nicht sicher, wieso NAT? Meinst du jenes NAT, welches für "ICS" benutzt wird?

mumu 24. Jul 2005 20:49

Re: Netzwerkkarten Treiber Windows XP
 
naja, wenn ich den ics aktivier, dann verwendet ja windows xp NAT..., oder nicht?
Bei NAT muss es ja eine "Port to Port" - Tabelle geben, die festlegt, dass pakete die z.B. am Port 3000 am server ankommen über Port 2000 an den entsprechenden Client weitergeschickt werden. Oder seh ich das falsch?

also die IP Helper API hab ich schon durchgeforstet und leider nix gefunden.
wo gibts denn infos zu WMI?

oder jemand noch irgendwelche anderen ideen?

Olli 24. Jul 2005 20:55

Re: Netzwerkkarten Treiber Windows XP
 
Zitat:

Zitat von mumu
naja, wenn ich den ics aktivier, dann verwendet ja windows xp NAT..., oder nicht?
Bei NAT muss es ja eine "Port to Port" - Tabelle geben, die festlegt, dass pakete die z.B. am Port 3000 am server ankommen über Port 2000 an den entsprechenden Client weitergeschickt werden. Oder seh ich das falsch?

Im Grunde siehste das schon richtig. Allerdings befürchte ich fast, daß es u.U. nicht funktioniert. Der Mini-DHCP-Server in W2K Pro und WXP hat ja auch nicht alle Features der großen Server-Geschwister. Bei NAT sieht es ganz ähnlich aus.

Zitat:

Zitat von mumu
wo gibts denn infos zu WMI?

Auch MSDN. Die meisten Klassennamen beginnen mit "Win32_".

Aber ich habe trotzdem noch was gefunden. Es gibt da ein paar Interfaces: MSDN-Library durchsuchenNetwork Address Translation Traversal Interfaces

mumu 24. Jul 2005 21:16

Re: Netzwerkkarten Treiber Windows XP
 
hmm auf diese MSDN-Seite über die NAT Interfaces bin ich auch schon gestoßen, aber irgendwie sind da nicht wirklich nützliche hinweise. man kann zwar ohne probleme die statischen port mappings auslesen, aber das dürften wohl nicht die richtigen sein. ich bräuchte die dynamischen...

was haltet ihr z.B. hier von? Das schaut ja eigentlich schon ganz passend aus. das problem ist nur, dass sich das auf Windows CE bezieht. Kann man das eventuell auf XP übertragen? Oder macht das keinen sinn?
NAT_WIN_CE

Olli 24. Jul 2005 21:19

Re: Netzwerkkarten Treiber Windows XP
 
Zitat:

Zitat von mumu
hmm auf diese MSDN-Seite über die NAT Interfaces bin ich auch schon gestoßen, aber irgendwie sind da nicht wirklich nützliche hinweise.

:-?

Dort sind unter anderem aufgeführt IStaticPortMappingCollection und IStaticPortMapping. Genau das was du wolltest. Eben die Portmapping-Tabelle auslesen. Wo ist das Problem?

mumu 24. Jul 2005 21:23

Re: Netzwerkkarten Treiber Windows XP
 
oh, hast grad geantwortet, als ich mein letztes posting verbessert hab :-) sorry...

Zitat:

man kann zwar ohne probleme die statischen port mappings auslesen, aber das dürften wohl nicht die richtigen sein. ich bräuchte die dynamischen...
ich will nämlich, wenn eine aktuelle verbindung von nem client ins internet besteht, wissen über welche ports am server die daten zum client gelangen.

mumu 26. Jul 2005 09:46

Re: Netzwerkkarten Treiber Windows XP
 
ist es irgendwie möglich folgendes rauszufinden:

ich erhalte übers internet ein paket an einem bestimmten port. (die daten des paketes kann ich mithilfe meines treibers ohne probleme auslesen)

jetzt möchte ich wissen, über welchem port dieses paket weiter an die clients geschickt wird bzw. ob es eventuell am server verarbeitet wird.

was müsste ich dazu rein theoretisch tun?

falls ich jetzt z.B. über die ICS API die aktuellen Mappings auslese: url=http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ics/ics/inetconnectionprops.asp]INetSharingPortMappingProps[/url], dann werde ich wahrscheinlich probleme bekommen, wenn ein anderes Programm für NAT verwendet wird.

bleibt mir da eventuell auch nix anderes Übrig, als NAT selbst zu programmieren?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 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