![]() |
AW: Alle im Netzwerk befindlichen Clients scannen
Windows 7 HP 64
|
AW: Alle im Netzwerk befindlichen Clients scannen
Zitat:
|
AW: Alle im Netzwerk befindlichen Clients scannen
Redest du von Traffic-Shaping?
Das ist aktiviert... Sobald jemand anderes auch nur eine Seite aufruft, geht mein Ping auf bis zu 1800 ms hoch. Da geht gar nix mehr. |
AW: Alle im Netzwerk befindlichen Clients scannen
Hi pinge mit dieser Funktion:
Delphi-Quellcode:
ist hier aus dem Forum.uses Windows, SysUtils, Variants, Classes, Graphics, Controls, ExtCtrls, ComCtrls, winsock, StdCtrls, wininet; function Ping(IP:string; TimeOut:Cardinal):Boolean; var hICMP : DWORD; pierWork : PICMP_ECHO_REPLY; dwSize : DWORD; Class1,Class2,Class3,Class4 : String; i,j : Byte; begin Result:=False; j:=1; for i:=1 to Length(IP) do begin if IP[i]<>'.' then begin case j of 1: Class1:=Class1+IP[i]; 2: Class2:=Class2+IP[i]; 3: Class3:=Class3+IP[i]; 4: Class4:=Class4+IP[i]; end; end else Inc(j); end; hICMP := IcmpCreateFile; if hICMP = INVALID_HANDLE_VALUE then exit; try dwSize := SizeOf(ICMP_ECHO_REPLY)+8; pierWork := AllocMem(dwSize); try if IcmpSendEcho(hICMP,MAKELONG(MAKEWORD(StrToInt(Class1), StrToInt(Class2)),MAKEWORD(StrToInt(Class3), StrToInt(Class4))),nil,0,nil,pierWork,dwSize,TimeOut) = 0 then Result:=False else Result:=True; finally FreeMem(pierWork,dwSize); end; finally IcmpCloseHandle(hIcmp); end; end; |
AW: Alle im Netzwerk befindlichen Clients scannen
Zitat:
|
AW: Alle im Netzwerk befindlichen Clients scannen
Zitat:
In meinem D-Link Router kann ich allen Scheiß einstellen, aber der hat ja nunmal kein Modem, darum ist die Fritzbox davor. Das gehört zwar hier nicht her, aber ich habe auch cFosSpeed. Würde das funktionieren wenn ich das auch auf dem anderen Rechner installiere? Weil ja 2 IP-Kreise bei mir vorhanden sind. |
AW: Alle im Netzwerk befindlichen Clients scannen
Die Fritzbox kann das und die Priorisierung sollte auch der letzte Übergabepunkt im eigenen Netz übernehmen.
|
AW: Alle im Netzwerk befindlichen Clients scannen
Ich glaube meine ist zu alt. Hab ne 3170.
Zitat:
borstenei, wie ermittelst du die rechner namen? Kann ich die exe vom tool mal haben? |
AW: Alle im Netzwerk befindlichen Clients scannen
Liste der Anhänge anzeigen (Anzahl: 2)
Macadresse und Computername mit diesen Funktionen
Delphi-Quellcode:
function GetComputerName(IPAddr: String): string;
var SockAddrIn: TSockAddrIn; HostEnt: PHostEnt; WSAData: TWSAData; begin WSAStartup($101, WSAData); SockAddrIn.sin_addr.s_addr := inet_addr(PAnsiChar(AnsiString(IPAddr))); // <-- IP-Addr nach AnsiString wandeln HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET); if HostEnt <> nil then Result := string(StrPas(Hostent^.h_name)) // <- Hostname nach String wandeln else Result := ''; end; function GetMacAddr(const IPv4: String): String; const SrcIP: in_addr = (S_addr: 0); var DestIP: in_addr; MacAddr: array[0..5] of Byte; MacAddrLen, RC: DWORD; i: Integer; begin Result := ''; DestIP.S_addr := inet_addr(PAnsiChar(AnsiString(IPv4))); MacAddrLen := Length(MacAddr); // msdn.microsoft.com/e...aa366358(VS.85).aspx RC := SendARP(DestIP,SrcIP,@MacAddr,MacAddrLen); case RC of NO_ERROR: begin if (MacAddrLen = 6) then for i := 0 to 5 do begin if (i > 0) then Result := Result +'-'; Result := Result +IntToHex(MacAddr[i],2); end else Result := 'Error: MacAddrLen='+IntToStr(MacAddrLen); end; ERROR_GEN_FAILURE: Result := 'ERROR_GEN_FAILURE'; ERROR_INVALID_PARAMETER: Result := 'ERROR_INVALID_PARAMETER'; ERROR_INVALID_USER_BUFFER: Result := 'ERROR_INVALID_USER_BUFFER'; ERROR_BAD_NET_NAME: Result := 'ERROR_BAD_NET_NAME'; ERROR_BUFFER_OVERFLOW: Result := 'ERROR_BUFFER_OVERFLOW'; else Result := 'Error: RC='+IntToStr(RC); end; end; ich würde gern den alles hier mal anhängen..nur leider gehört mein code nicht in die Rubrik "Da kann man was lernen".:( ich hänge die Exe mal an , die Netzwerksache tut es ja auch ohne Receiver. |
AW: Alle im Netzwerk befindlichen Clients scannen
Gibts doch gar nicht :-D
Ich habe die gleiche Funktion verwendet und es hat nie geklappt. Jetzt habe ich endlich den Fehler:
Code:
Das AnsiString hat mir gefehlt. Ich danke dir!
function GetComputerName(IPAddr: String): string;
var SockAddrIn: TSockAddrIn; HostEnt: PHostEnt; WSAData: TWSAData; begin WSAStartup($101, WSAData); SockAddrIn.sin_addr.s_addr := inet_addr(PAnsiChar([B]AnsiString[/B](IPAddr))); // <-- IP-Addr nach AnsiString wandeln HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET); if HostEnt <> nil then Result := string(StrPas(Hostent^.h_name)) // <- Hostname nach String wandeln else Result := ''; end; WIe lange dauert bei dir eigentlich das durchpingen? Ich hab die TimeOut-Zeit auf 50 ms und das dauert schon ne weile. Dein Tool kann ich nicht öffnen. Mir fehlt XML 4.0 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:53 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