Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Indy und ping (https://www.delphipraxis.net/175992-indy-und-ping.html)

khh 5. Aug 2013 14:50

Indy und ping
 
hallo zusammen, ich möchte mit Indy 10.2.0.3
ein ping absetzen.

nach folgender "Anleitung" bekomme ich einen Socketfehler 10013 "acess denied"

http://www.delphi-treff.de/tipps/net...y-komponenten/

was läuft denn da falsch ?

Ping vom Prompt aus funktioniert einwandfrei

Bernhard Geyer 5. Aug 2013 14:55

AW: Indy und ping
 
Die Indy-Ping-Komponente benötigt Adminrechte.
Nimm lieber die ICS-Komponenten. Diese kommmen beim ping ohne Adminrechte aus.

khh 5. Aug 2013 14:58

AW: Indy und ping
 
Ich danke dir.

gibt es die ICS für Lazarus?

wenn ich die IDE bzw. das Prog als admin ausführe funktionierts ;-)

Bernhard Geyer 5. Aug 2013 15:01

AW: Indy und ping
 
Zitat:

Zitat von khh (Beitrag 1223560)
Ich danke dir.

gibt es die ICS für Lazarus?

Lazarus? Glaube ich nicht.

x000x 5. Aug 2013 16:29

AW: Indy und ping
 
Moin moin,

siehe auch unter: Indy Knowlege Base.

mjustin 5. Aug 2013 16:36

AW: Indy und ping
 
Hintergrundinformationen findet man hier:

Why does ping work without administrator privileges?

Zusammengefasst (in der Antwort von Remy Lebeau) umgeht Microsoft seine eigenen Sicherheitsrichtlinien, indem für Ping eine API eingeführt wurde die keine Adminrechte benötigt. Normalerweise erfordert die RAW Socket API - dir für ICMP / Ping benötigt wird - Adminrechte.

Die Windows API IcmpSendEcho() muss eigentlich auch unter Lazarus / Free Pascal benutzbar sein.

x000x 5. Aug 2013 16:43

AW: Indy und ping
 
Zitat:

Zitat von mjustin (Beitrag 1223578)
Die Windows API IcmpSendEcho() muss eigentlich auch unter Lazarus / Free Pascal benutzbar sein.

Benutzbar bestimmt - nur bei Zielplattform = Linux wird es dann immer noch nicht funktionieren ...

creed steiger 5. Aug 2013 16:52

AW: Indy und ping
 
Synapse

http://synapse.ararat.cz/doc/help/pi...TPINGSend.html

Bernhard Geyer 5. Aug 2013 17:03

AW: Indy und ping
 
Zitat:

Zitat von x000x (Beitrag 1223579)
Zitat:

Zitat von mjustin (Beitrag 1223578)
Die Windows API IcmpSendEcho() muss eigentlich auch unter Lazarus / Free Pascal benutzbar sein.

Benutzbar bestimmt - nur bei Zielplattform = Linux wird es dann immer noch nicht funktionieren ...

Hat Linux wohl auch einen ähnliches Rechteproblem?
oder was würde dagegen sprechen hier ein {$IFDEF LINUX}... zu verwenden?

x000x 5. Aug 2013 17:21

AW: Indy und ping
 
Ich denke, es ist auf "allen" Plattformen das gleiche Problem. RAW Sockets = root Rechte.

Auch Synapse wird das nicht umgehen können (Jedenfalls nicht bei Verwendung von RAW sockets)

Wenn natürlich nur Windows als Zielplattform in Frage kommt, dann sollten die bereits angesprochenen API verwendet werden - da funktioniert es dann auch mit unpriviligierten Benutzern. Stichwort: Hier im Forum suchenIcmpSendEcho (icmp.dll) Hier könnten auch die angesprochenen Komponenten durchaus eine Lösung sein (ich kenne sie aber nicht)

Unter Linux gäbe es die Möglichkeit, beim Binary das SUID Bit zu setzen (Halte ich aber für eine schlechte Lösung, da hierdurch Sicherheitsprobleme auftreten können).

Beim Programm PING unter Linuxsystemen ist "meistens" das SUID Bit gesetzt, so dass dieses auch von unpriviligierten Benutzern aufgerufen werden kann. Man könnte also hier das Programm PING nutzen und die Ausgabe parsen... Eine andere Lösung ist mir leider auch nicht bekannt.


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