Entwickler-Ecke
Internet / Netzwerk - Ping ohne Adminrechte
Aya - Di 20.08.13 13:14
Titel: Ping ohne Adminrechte
Hi,
ich möchte gern einen Server pingen und dafür aber nicht auf den commandline befehl zurückgreifen, sondern das ganze in meinem Programm implementieren.
Das ist soweit kein Problem, gibt ja genug beispiele für RawSocket Pings im Internet, allerdings braucht man für alle beispiele Adminrechte...
Die Zeile:
Delphi-Quelltext
1:
| socket(AF_INET, SOCK_RAW, IPPROTO_ICMP) |
funktioniert leider nur bei entsprechenden Admin Rechten, wird aber von allen Beispielen die ich gefunden habe benutzt - gibt es da eine Möglichkeit das auch als normaler User zu nutzen?
Danke,
Aya
Ralf Jansen - Di 20.08.13 13:21
Die WindowsAPI (IcmpSendEcho und Konsorten) sollte das Problem nicht haben.
Christian213 - Di 20.08.13 14:05
Dem kann ich mich nur anschließen. Ich würde grundsätzlich auf raw sockets verzichten, denn dies erfordert nicht nur Adminrechte, sondern man riskiert auch, dass das eigene Programm evtl. von einem Firewall oder Virenscanner als Trojaner fehl erkannt wird.
Ich wage mal zu behaupten, dass man für seriöse Programmierung eigentlich nie in die Verlegenheit kommen sollte raw sockets zu benötigen.
Hier [
http://www.delphipraxis.net/1251-ping-delphi-ausfuehren-2.html] findet man übrigens einen Beispielquelltext mit IcmpSendEcho.
jaenicke - Di 20.08.13 14:55
Der braucht aber auch Adminrechte.
Warum Microsoft das so gemacht hat, weiß ich nicht. Es ist aber so, dass die Pingroutinen (Icmp...), die für Anwendungen zur Verfügung stehen, Adminrechte erfordern. Das eigene Ping-Tool nutzt die aber nicht, nur deshalb funktioniert es ohne Adminrechte...
Ralf Jansen - Di 20.08.13 15:46
jaenicke hat folgendes geschrieben : |
Der braucht aber auch Adminrechte.
|
Gerade äquivalentes (Windows7 mit C#) ausprobiert. Und es ging ohne Admin Rechte.
Christian213 - Mi 21.08.13 08:37
Ralf Jansen hat folgendes geschrieben : |
jaenicke hat folgendes geschrieben : | Der braucht aber auch Adminrechte.
|
Gerade äquivalentes (Windows7 mit C#) ausprobiert. Und es ging ohne Admin Rechte. |
Unter Lazarus kann ich auch IcmpSendEcho mit einem eingeschränkten Benutzer aufrufen?!
Wenn, dann muss das wohl ein RTL-Problem bei Delphi sein.
jaenicke - Mi 21.08.13 08:57
Es geht auch bei mir, aber nur auf einem Rechner, auf einem Firmenrechner nur als Admin. Man kann das also offenbar einstellen.
Martok - Mi 21.08.13 23:58
jaenicke hat folgendes geschrieben : |
Es geht auch bei mir, aber nur auf einem Rechner, auf einem Firmenrechner nur als Admin. Man kann das also offenbar einstellen. |
Die spannende Frage wäre also, wie heißt die Gruppenrichtlinie dazu... in den IP-Sicherheitsrichtlinien ist sowas drin, aber da als Paketfilter. Keine Ahnung wo die API-Einstellungen sind.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!