AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

WLAN ip ermitteln

Ein Thema von k4ni · begonnen am 20. Jul 2007 · letzter Beitrag vom 24. Jul 2007
 
k4ni

Registriert seit: 17. Jul 2007
Ort: Ulm
258 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: WLAN ip ermitteln

  Alt 20. Jul 2007, 19:09
also ich benütz das script damit is ya die lokale IP des PC'S bekomm. und diese verwend ich dann in diesem script

Delphi-Quellcode:
unit DropAllU;
{
Aufruf:
  InstallFW('192.168.0.2');

und zum schluss:
  RemoveFW;
}


interface

   procedure InstallFW(MyIP: String);
   procedure RemoveFW;

implementation

uses Windows;

const
   IPHLPAPI = 'IPHLPAPI.DLL';

type
  PFFORWARD_ACTION = Integer;
  PPFFORWARD_ACTION = ^PPFFORWARD_ACTION;
  //
  INTERFACE_HANDLE = Pointer;
  //
  PFADDRESSTYPE = Integer;
  PPFADDRESSTYPE = ^PFADDRESSTYPE;
  //
  TByteArray = Array [0..Pred(MaxInt)] of Byte;
  PByteArray = ^TByteArray;
  TIpBytes = Array [0..3] of Byte;

const
  PF_ACTION_DROP = 1;

const
  PF_IPV4 = 0;

function PfCreateInterface(
           dwName: DWORD;
           inAction: PFFORWARD_ACTION;
           outAction: PFFORWARD_ACTION;
           bUseLog: BOOL;
           bMustBeUnique: BOOL;
           var ppInterface: INTERFACE_HANDLE): DWORD;
           stdcall; external IPHLPAPI name '_PfCreateInterface@24';

function PfDeleteInterface(
           pInterface: INTERFACE_HANDLE): DWORD;
           stdcall; external IPHLPAPI name '_PfDeleteInterface@4';

function PfBindInterfaceToIPAddress(
           pInterface: INTERFACE_HANDLE;
           pfatLinkType: PFADDRESSTYPE;
           IPAddress: PByteArray): DWORD;
           stdcall; external IPHLPAPI name '_PfBindInterfaceToIPAddress@12';

function PfUnBindInterface(
           pInterface: INTERFACE_HANDLE): DWORD;
           stdcall; external IPHLPAPI name '_PfUnBindInterface@4';

var
   Handle_Interface : INTERFACE_HANDLE = nil;

function StrToInt(S: PChar): Integer;
begin
   Result := 0;
   if S = 'then Exit;
   while S^ in ['0'..'9'] do begin
      Result := Result * 10 + Integer(S^) - Integer('0');
      Inc( S );
   end;
end;

function StrToIpBytes( IpStr: String ): TIpBytes;
var N : Integer;
begin
   N := 0;
   while Pos('.', IpStr)>0 do begin
      Result[N] := StrToInt(@Copy(IpStr, 1, Pos('.', IpStr) - 1)[1]);
      Delete(IpStr, 1, Pos('.', IpStr));
      Inc(N);
   end;
   Result[N] := StrToInt(@IpStr[1]);
end;

procedure InstallFW(MyIP: String);
var
   IpLocal : TIpBytes;
begin
   if (MyIP <> '') and Not Assigned(Handle_Interface) then begin
      FillChar(IpLocal, 4, #0);
      IpLocal := StrToIpBytes(MyIP);

      PfCreateInterface(0, PF_ACTION_DROP, PF_ACTION_DROP, False, False, Handle_Interface);
      PfBindInterfaceToIPAddress(Handle_Interface, PF_IPV4, @ipLocal);
   end;
end;

procedure RemoveFW;
begin
   if Assigned(Handle_Interface) then begin
      PfUnBindInterface(Handle_Interface);
      PfDeleteInterface(Handle_Interface);
      Handle_Interface := nil;
   end;
end;

end.
//credits fuer den gehen an x000x

Doch wenn z.b mein cousin das versucht und dann mit dem script die local IP zu bekommen und mit dem hier ^^die verbindung zu trennen (er benützt WLAN) dann klappt das nicht. Doch bei mir mit normal LAN gehts.
Es ist nicht nur bei ihm so. Bis jetzt haben sich nur WLAN user beschwert dass es nicht geht, idee?
  Mit Zitat antworten Zitat
 


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 15:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz