Sourcen von 'ping' oder hat einer Ahnung wie...

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Ephraim
Beiträge: 107
Registriert: 02.02.2005 20:52:12
Kontaktdaten:

Sourcen von 'ping' oder hat einer Ahnung wie...

Beitrag von Ephraim » 24.02.2005 11:47:06

Hey Leute,

ich suche die Sourcen von dem guten alten ping :) oder kann mir jemand sagen wie ich mit javascript en ping selber baue :)


Ciao Ephraim
Jabber-ID: ephraim@jabber.thefungamer.de
43 69 61 6F 20 45 70 68 72 61 69 6D 0A
4C 69 6E 75 78 20 69 73 0A
74 68 65 20 42 65 73 74 2E

System:
Amilo M7405
Debian Sarge 2.6.10 marke eigenbau :)

Benutzeravatar
feltel
Webmaster
Beiträge: 10476
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 24.02.2005 12:21:26

http://ftp.debian.org/debian/pool/main/ ... rig.tar.gz sollte helfen. Da ist ping imho mit drin.

Ephraim
Beiträge: 107
Registriert: 02.02.2005 20:52:12
Kontaktdaten:

Beitrag von Ephraim » 24.02.2005 12:53:08

OK thx. Da muss ich jetzt dann erstmal durchblicken :) ... und dann das ganze noch in Javascript umsetzen 8O mal schauen ob des überhaupt geht :?: :?

Ciao Ephraim
Jabber-ID: ephraim@jabber.thefungamer.de
43 69 61 6F 20 45 70 68 72 61 69 6D 0A
4C 69 6E 75 78 20 69 73 0A
74 68 65 20 42 65 73 74 2E

System:
Amilo M7405
Debian Sarge 2.6.10 marke eigenbau :)

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 24.02.2005 14:59:30

Ephraim hat geschrieben:und dann das ganze noch in Javascript umsetzen 8O mal schauen ob des überhaupt geht :?: :?
Das bezweifle ich stark!

DeletedUserReAsG

Beitrag von DeletedUserReAsG » 24.02.2005 15:01:38

Du willst C-Sourcen in JS umsetzen und mehr noch: ICMP-Pakete via JS generieren? Viel Spaß ;)

cu

Ephraim
Beiträge: 107
Registriert: 02.02.2005 20:52:12
Kontaktdaten:

Beitrag von Ephraim » 24.02.2005 16:29:15

Danke Danke .... is ja auch nur ein Versuch, wäre cool wenns klappt, wenn nicht naja
dann eben nicht :)
Dann mach ich des per PHP und vom Server aus ... fänd einfach für mein Ding besser wenn des vom Browser aus passiert ;)

Ciao Ephraim
Jabber-ID: ephraim@jabber.thefungamer.de
43 69 61 6F 20 45 70 68 72 61 69 6D 0A
4C 69 6E 75 78 20 69 73 0A
74 68 65 20 42 65 73 74 2E

System:
Amilo M7405
Debian Sarge 2.6.10 marke eigenbau :)

DeletedUserReAsG

Beitrag von DeletedUserReAsG » 24.02.2005 22:20:00

Ich bin mir fast sicher, dass man mit JS keine Daten versenden kann, und dass Sockets (bzw. direkter Zugriff auf das Netzwerkinterface) dort noch weniger realisierbar sind. Ich denke weiterhin, dass es dir auch in PHP nicht gelingen wird, ICMP-Pakete zu handlen.


cu

Ephraim
Beiträge: 107
Registriert: 02.02.2005 20:52:12
Kontaktdaten:

Beitrag von Ephraim » 25.02.2005 13:47:01

Also mit Javascript muss ich dir leider recht geben, hab einiges die letzten Tage gestöbert im INET aber nichts dazu gefunden bzw. nur was mit ActiveX :( und des wollte ich nicht verwenden. Vielleicht muss ich des ganze mit nem Javaapplet machen ... mag ich aber auch nicht unbedingt.

PHP sollte des aber schon gehen, da man da ja ne komplette SOCKET API hat?!

Muss da noch ein bissel grübeln, wie ich des jetzt machen soll :roll:

Ciao Ephraim
Jabber-ID: ephraim@jabber.thefungamer.de
43 69 61 6F 20 45 70 68 72 61 69 6D 0A
4C 69 6E 75 78 20 69 73 0A
74 68 65 20 42 65 73 74 2E

System:
Amilo M7405
Debian Sarge 2.6.10 marke eigenbau :)

DeletedUserReAsG

Beitrag von DeletedUserReAsG » 25.02.2005 14:12:52

Naja, ICMP hat keine Sockets, afar. Ist ein komplett verbindungsloses Protokoll.
Selbst mit Java ist ICMP nicht ohne weiteres möglich, und ich wage zu behaupten, dass Java im Punkt Netzwerk PHP um einiges überlegen ist.
Allerdings kannst du in PHP (wie auch in Java) das native ping einfach aufrufen.

cu

Ephraim
Beiträge: 107
Registriert: 02.02.2005 20:52:12
Kontaktdaten:

Beitrag von Ephraim » 25.02.2005 15:12:24

Des is ja mein Problem ;) ... mein Provider von dem Webspace hat des ausführen von executables via PHP ausgeschalten :( ...

Wenn ICMP nicht mit sockets gemacht sind, wieso wird dann im ping source code ne socket genutzt?

Ciao Ephraim
Jabber-ID: ephraim@jabber.thefungamer.de
43 69 61 6F 20 45 70 68 72 61 69 6D 0A
4C 69 6E 75 78 20 69 73 0A
74 68 65 20 42 65 73 74 2E

System:
Amilo M7405
Debian Sarge 2.6.10 marke eigenbau :)

DeletedUserReAsG

Beitrag von DeletedUserReAsG » 25.02.2005 15:51:19

Stimmt, auch für ICMP werden offensichtlich Sockets benutzt. Allerdings steht schon im ersten Kommentar der ping.c, warum das mit PHP wohl eher nicht funktionieren wird:

Code: Alles auswählen

 This program has to run SUID to ROOT to access the ICMP socket.
Offensichtlich könnte man, wenn der User, unter dem die Scripte ausgeführt werden, Schreibzugriff auf den ICMP-Socket hat, diesen auch benutzen, da man mit den entsprechenden Funktionen auch auf Unix-Domain-Sockets zugreifen kann. Allerdings bin ich mir gerade selbst nicht so im Klaren, deswegen gehe ich gerade die Unix-socket-faq for network programming (http://www.faqs.org/faqs/unix-faq/socket/) durch.

Aber wie gesagt: Ohne die entsprechenden Rechte wirst du mit hoher Wahrscheinlichkeit nicht auf den entsprechenden Socket zugreifen können.

cu

Benutzeravatar
emge
Beiträge: 1525
Registriert: 20.10.2003 22:05:46
Lizenz eigener Beiträge: Artistic Lizenz
Wohnort: 50° 45' 0" N 12° 10' 0" E

Beitrag von emge » 25.02.2005 16:12:42

Hallo Ephraim,

ein "richtiges" PING (will sagen, ein ICMP-Paket) mit Java(-Applet), Javascript oder PHP abzusetzen kannst du vergessen. Warum, geht ja aus den o.g. Posts ganz gut hervor.

Die Frage ist aber, was du damit erreichen willst? Ich bin mir sicher, dass es dafür mit den für dich verfügbaren Techniken einige Lösungen gibt.

Also ran an die Tastatur und ein paar Infos gepostet.

Grüße, Marco

Ephraim
Beiträge: 107
Registriert: 02.02.2005 20:52:12
Kontaktdaten:

Beitrag von Ephraim » 25.02.2005 20:13:46

Also es geht darum, ich bin Mitglied in nem Day Of Defeat Clan und wir haben nen Server bei NGZ. Bei NGZ ist es so, das der eigentliche Server zum zocken ein eigene Rechner ist und der WebServer auf nem ganz anderen Rechner läuft bzw. zumindest mal verschiedene IP's
haben.

Jetzt sind wir gerade am Homepage basteln und ich will natürlich den Besuchern unserer Page nicht einfach irgend einen Ping vorgauckeln, sondern ich will wirklich den Ping von dem Rechner des Besuchers zum Rechner auf dem unser DoD Server läuft anzeigen lassen.

Mein Problem an der ganz Sache ist, einmal darf ich über PHP kein exec() system() oder sonstige shell aufrufe machen, da NGZ mir das verbietet und des andere sind eben die zwei verschiedenen Rechner (WebServer, DoD Server).

Mir steht auch noch ein Root Server zur Verfügung auf dem ich locker irgend ein Script ablaufen lassen kann.

Ich hab auch schon mal dran gedacht einfach über Javascript den ping beim Besucher aufzurufen, aber da kommt sicher dann irgend eine Firewall Virenscanner oder einfach der Browser selber und lässt das nicht zu :(.

Wenn ihr jetzt ne Idee habt wäre ich glücklich :) ... mir fällt nämlich nichts mehr ein.

Ciao Ephraim
Jabber-ID: ephraim@jabber.thefungamer.de
43 69 61 6F 20 45 70 68 72 61 69 6D 0A
4C 69 6E 75 78 20 69 73 0A
74 68 65 20 42 65 73 74 2E

System:
Amilo M7405
Debian Sarge 2.6.10 marke eigenbau :)

Benutzeravatar
emge
Beiträge: 1525
Registriert: 20.10.2003 22:05:46
Lizenz eigener Beiträge: Artistic Lizenz
Wohnort: 50° 45' 0" N 12° 10' 0" E

Beitrag von emge » 25.02.2005 23:39:51

Ephraim hat geschrieben:Mein Problem an der ganz Sache ist, einmal darf ich über PHP kein exec() system() oder sonstige shell aufrufe machen,...
Würde dir auch nichts nützen, da der PHP-Code auf dem Webserver ausgeführt wird.
Ephraim hat geschrieben:Ich hab auch schon mal dran gedacht einfach über Javascript den ping beim Besucher aufzurufen, aber da kommt sicher dann irgend eine Firewall Virenscanner oder einfach der Browser selber und lässt das nicht zu :(.
Das verbietet schon das Sicherheitskonzept von JavaScript.

Fazit: um Pings vom Rechner dessen, der die Webseite besucht, zum Game-Server wrid sich wohl der Besucher selbst kümmern müssen.

Grüße, Marco

Ephraim
Beiträge: 107
Registriert: 02.02.2005 20:52:12
Kontaktdaten:

Beitrag von Ephraim » 26.02.2005 09:46:40

Jep hab ich mir schon fast gedacht :( ...
Auf jeden Fall danke für die geopferte Zeit :)

Ciao Ciao
Jabber-ID: ephraim@jabber.thefungamer.de
43 69 61 6F 20 45 70 68 72 61 69 6D 0A
4C 69 6E 75 78 20 69 73 0A
74 68 65 20 42 65 73 74 2E

System:
Amilo M7405
Debian Sarge 2.6.10 marke eigenbau :)

DeletedUserReAsG

Beitrag von DeletedUserReAsG » 26.02.2005 16:23:38

Denkbar wäre ein Java-Applet. Der Securitymanager erlaubt Verbindungen zum Host, von dem es geladen wurde, ohne, dass das Applet signiert sein muss. Auf der Serverseite halt einen einfachen Echoserver laufen lassen und gut.

Ist zwar alles nicht soo genau, und der Wert wird sich auch vom tatsächlichen Wert, den der User zum eigentlichen Gameserver hat, leicht unterscheiden, aber als Schätzeisen wird's wohl reichen.

cu

Erzlord Caron
Beiträge: 444
Registriert: 17.07.2003 15:55:41

Beitrag von Erzlord Caron » 04.03.2005 10:17:27

wenn er es schafft, vom webserver den benutzer des users zu pingen, dürften eigentlih genauso verwertbare daten rauskommen :)

Antworten