AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Magic Packet richtig zusammenstellen

Magic Packet richtig zusammenstellen

Ein Thema von stev-e87 · begonnen am 23. Mai 2009 · letzter Beitrag vom 24. Mai 2009
 
stev-e87

Registriert seit: 28. Feb 2009
20 Beiträge
 
#1

Magic Packet richtig zusammenstellen

  Alt 23. Mai 2009, 11:40
Hallo,

ich versuche gerade meinen Rechner per WoL zu starten und benutze dazu den Code von Swissdelphicenter in leicht abgeänderter Art:

Delphi-Quellcode:
procedure Wake_On_LAN(Mac:String);
var
  Data, temp: string;
  k, n: integer;
begin
  Data := '';
  for k := 0 to 5 do
  begin
    Data := Data + Chr(StrToInt('$FF')); // 6x add a FF / 6x ein FF hinzufügen
  end;
  temp := StringReplace(Mac, '-', '', [rfReplaceAll]);
  for k := 0 to 15 do
  begin
    temp := StringReplace(Mac, '-', '', [rfReplaceAll]);
    for n := 0 to 5 do
    begin
      // 16x add Target-Mac-Adress / 16x die Ziel-Macadresse hinzufügen
      Data := Data + Chr(StrToInt('$' + temp[1] + temp[2]));
      Delete(temp, 1, 2);
    end;
  end;
  with Wnd_Main.IdUDPClient_WoL do begin
  //Example with TIdUDPClient of Indy
  Host:= '192.168.2.255';
  Port:= 2304;
  Send(Data); // Send it / Verschick es
  end;
end;
Änderungen:
- die Mac übergebe ich der Prozedur anstatt diese auszulesen (ist ja eh immer die gleiche ), auch in der Form 11-22-33-44-55-66
- Den Host tausche ich bei jedem Versuch von 255.255.255.255 auf 192.168.2.255

selbstverständlich ist Broadcast_Enable und Active bei der Indy Kompo True. Mit nem anderen funktionierenden Tool gehts, den rechner zu wecken.

Besonders lustig ist auch die Ausgabe von Wireshark:

Meine Variante bringt folgenden Quatsch (nur Datenteil):

0000 79 79 79 79 79 79 00 0d 61 45 1a 75 00 0d 61 45 yyyyyy..aE.u..aE
0010 1a 75 00 0d 61 45 1a 75 00 0d 61 45 1a 75 00 0d .u..aE.u..aE.u..
0020 61 45 1a 75 00 0d 61 45 1a 75 00 0d 61 45 1a 75 aE.u..aE.u..aE.u
0030 00 0d 61 45 1a 75 00 0d 61 45 1a 75 00 0d 61 45 ..aE.u..aE.u..aE
0040 1a 75 00 0d 61 45 1a 75 00 0d 61 45 1a 75 00 0d .u..aE.u..aE.u..
0050 61 45 1a 75 00 0d 61 45 1a 75 00 0d 61 45 1a 75 aE.u..aE.u..aE.u
0060 00 0d 61 45 1a 75 ..aE.u

wohingegen das andere Tool-wie es sein sollte, 6x FF am Anfang gefolgt von 16x Mac bringt, was Wireshark auch direkt als WoL identifiziert...

Bei anderen hat doch aber dieses Skript auch funktioniert...
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:42 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