Bezoeker van website ICMP echo/ping laten versturen?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Gijs007
  • Registratie: Februari 2008
  • Laatst online: 08-10 16:36
Beste medetweakers,

Op de website van een server hosting bedrijf wil ik de latency tussen de bezoeker en de verschillende datacentra meten en weergeven aan de bezoeker.

Hiervoor wil ik gebruik maken van een standaard ICMP echo ofwel ping naar een aantal IP adressen.
Is het mogelijk om dit te implementeren met bijvoorbeeld javascript? Ik zie dat websites zoals pingtest.net dit kunnen, vermoedelijk met gebruik van flash.

Members only:
Alleen zichtbaar voor ingelogde gebruikers. Inloggen


Op stackoverflow zie ik echter alleen een javascript oplossing om een webserver te draaien. Het javascript meet dan de latency door bestanden van de webserver te downloaden:
https://stackoverflow.com...6206979/ping-from-browser

Mijn vraag is: Hoe kan ik de latency/ping naar een IP adres meten (waar geen webserver op draait), met gebruik van een standaard webbrowser? Bij voorkeur zonder plugins zoals Adobe Flashplayer.

AMD Ryzen 7 9800X3D | Corsair H150i Elite LCD | GIGABYTE X670E AORUS XTREME | G.Skill Trident Z F5-7800J3646H16GX2-TZ5RK | Inno3D GeForce RTX 4090 iCHILL X3 | Corsair HX1000i | Crucial T700 4TB | Intel Optane 905P 1.5TB | MP600 NH 8TB | Corsair iCUE 5000T

Beste antwoord (via Gijs007 op 17-08-2017 14:18)


  • DanielG
  • Registratie: Oktober 2005
  • Laatst online: 08-09 15:36

DanielG

i = 0x5f3759df - (i>>1); ☠₧ℳ🀪❣

Dit is niet mogelijk, je kan een browser van een bezoeker geen ICMP bericht laten uitvoeren en dat uitlezen.

De site https://www.verygames.net...lved-ark-rental-mieten_31 doet een gewone POST call naar https://www.verygames.net/store/getQueryAddressDatacenter/ waaruit de nummers terug komen (dit zijn dus niet de ping resultaten tussen de gebruiker en de servers) Zo te zien doen ze ook eerst met websockets calls naar wss://ping-as-sg.verygames.net:8042/socket.io/ deze geeft na een paar calls de nummers vanuit de server terug.

Afbeeldingslocatie: https://i.imgur.com/JK96JDR.png

Maar dit is dus geen echte ICMP achtige ping, maar verkeer meten door middel van een websocket dienst die op de server aanwezig is. Jou vraag "Hoe kan ik de latency/ping naar een IP adres meten (waar geen webserver op draait)" zal dus niet mogelijk gaan zijn, zelfs niet met de Flash plugin.

Het beste wat je kan doen is met gewone tekst en plaatjes uitleggen hoe de gebruiker zelf in een command prompt / terminal de regels moet uitvoeren om de vergelijking te maken.

[ Voor 53% gewijzigd door DanielG op 15-08-2017 13:41 ]

http://xyproblem.info/

Alle reacties


Acties:
  • +1 Henk 'm!

  • johanmulder
  • Registratie: Augustus 2002
  • Laatst online: 20-09 17:16

johanmulder

Nederlands Ondertiteld

Kan WebRTC iets voor je betekenen?

https://www.html5rocks.com/en/tutorials/webrtc/basics/

EDIT: je kan overigens ook overwegen dit server-side uit te laten voeren en dit via een API-aanroep uit te laten voeren vanuit JavaScript. Dit heeft denk ik ook een nettere resultaat omdat je dan een clean server-to-server UDP ping kan doen.

[ Voor 62% gewijzigd door johanmulder op 15-08-2017 13:28 ]

Werkt met: Apple Macbook Pro 16" | Bouwt: Multi-cloud SaaS-oplossingen | Vader | Wereldreiziger | Rijdt: Mercedes GLC


Acties:
  • 0 Henk 'm!

Verwijderd

Gijs007 schreef op dinsdag 15 augustus 2017 @ 13:16:
Op de website van een server hosting bedrijf wil ik de latency naar de verschillende datacentra meten en weergeven aan de bezoeker.
Dit is iets wat smokeping heel mooi kan en ook vaak daarvoor ingezet wordt:

http://oss.oetiker.ch/smokeping/

Demo:

http://oss.oetiker.ch/smokeping-demo/?target=Customers.OP

[ Voor 8% gewijzigd door Verwijderd op 15-08-2017 13:27 ]


Acties:
  • 0 Henk 'm!

  • Gijs007
  • Registratie: Februari 2008
  • Laatst online: 08-10 16:36
Dan krijg ik waarschijnlijk een grafiek van de ping tussen twee vooraf gedefinieerde IP adressen o.i.d.

Het doel is om de ping tussen de bezoeker en de verschillende datacentra te meten en weer te geven, zodat de bezoeker een betere keuze kan maken voor de locatie van een server.

AMD Ryzen 7 9800X3D | Corsair H150i Elite LCD | GIGABYTE X670E AORUS XTREME | G.Skill Trident Z F5-7800J3646H16GX2-TZ5RK | Inno3D GeForce RTX 4090 iCHILL X3 | Corsair HX1000i | Crucial T700 4TB | Intel Optane 905P 1.5TB | MP600 NH 8TB | Corsair iCUE 5000T


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • DanielG
  • Registratie: Oktober 2005
  • Laatst online: 08-09 15:36

DanielG

i = 0x5f3759df - (i>>1); ☠₧ℳ🀪❣

Dit is niet mogelijk, je kan een browser van een bezoeker geen ICMP bericht laten uitvoeren en dat uitlezen.

De site https://www.verygames.net...lved-ark-rental-mieten_31 doet een gewone POST call naar https://www.verygames.net/store/getQueryAddressDatacenter/ waaruit de nummers terug komen (dit zijn dus niet de ping resultaten tussen de gebruiker en de servers) Zo te zien doen ze ook eerst met websockets calls naar wss://ping-as-sg.verygames.net:8042/socket.io/ deze geeft na een paar calls de nummers vanuit de server terug.

Afbeeldingslocatie: https://i.imgur.com/JK96JDR.png

Maar dit is dus geen echte ICMP achtige ping, maar verkeer meten door middel van een websocket dienst die op de server aanwezig is. Jou vraag "Hoe kan ik de latency/ping naar een IP adres meten (waar geen webserver op draait)" zal dus niet mogelijk gaan zijn, zelfs niet met de Flash plugin.

Het beste wat je kan doen is met gewone tekst en plaatjes uitleggen hoe de gebruiker zelf in een command prompt / terminal de regels moet uitvoeren om de vergelijking te maken.

[ Voor 53% gewijzigd door DanielG op 15-08-2017 13:41 ]

http://xyproblem.info/


Acties:
  • 0 Henk 'm!

  • Gijs007
  • Registratie: Februari 2008
  • Laatst online: 08-10 16:36
DanielG schreef op dinsdag 15 augustus 2017 @ 13:29:
Dit is niet mogelijk, je kan een browser van een bezoeker geen ICMP bericht laten uitvoeren en dat uitlezen.

De site https://www.verygames.net...lved-ark-rental-mieten_31 doet een gewone POST call naar https://www.verygames.net/store/getQueryAddressDatacenter/ waaruit de nummers terug komen (dit zijn dus niet de ping resultaten tussen de gebruiker en de servers) Zo te zien doen ze ook eerst met websockets calls naar wss://ping-as-sg.verygames.net:8042/socket.io/ deze geeft na een paar calls de nummers vanuit de server terug.

[afbeelding]

Maar dit is dus geen echte ICMP achtige ping, maar verkeer meten door middel van een websocket dienst die op de server aanwezig is. Jou vraag "Hoe kan ik de latency/ping naar een IP adres meten (waar geen webserver op draait)" zal dus niet mogelijk gaan zijn, zelfs niet met de Flash plugin.

Het beste wat je kan doen is met gewone tekst en plaatjes uitleggen hoe de gebruiker zelf in een command prompt / terminal de regels moet uitvoeren om de vergelijking te maken.
Top, heldere uitleg. :)
De optie van socket.io spreekt mij wel aan, klopt het dat een socket.io server ook gehost kan worden zonder webserver?

AMD Ryzen 7 9800X3D | Corsair H150i Elite LCD | GIGABYTE X670E AORUS XTREME | G.Skill Trident Z F5-7800J3646H16GX2-TZ5RK | Inno3D GeForce RTX 4090 iCHILL X3 | Corsair HX1000i | Crucial T700 4TB | Intel Optane 905P 1.5TB | MP600 NH 8TB | Corsair iCUE 5000T


Acties:
  • 0 Henk 'm!

  • DanielG
  • Registratie: Oktober 2005
  • Laatst online: 08-09 15:36

DanielG

i = 0x5f3759df - (i>>1); ☠₧ℳ🀪❣

Je moet wel een dienst draaien lokaal, of dit een webserver of iets anders is maakt niet uit. Zie https://socket.io/docs/ bijvoorbeeld. Let wel op dat socket.io niet een ping dienst is, zij (verygames.net) hebben zelf in code iets gemaakt om soort van ping te emuleren. Het zal niet zo eenvoudig zijn om dit zelf zonder technische kennis op te zetten.

http://xyproblem.info/


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Je kan natuurlijk ook een script het "ping" commando laten uitvoeren en de output sturen.

Maak je niet druk, dat doet de compressor maar


Acties:
  • +1 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
DJMaze schreef op dinsdag 15 augustus 2017 @ 14:13:
Je kan natuurlijk ook een script het "ping" commando laten uitvoeren en de output sturen.
Ja want willekeurige scripts in de browser van een willekeurige bezoeker draaien die willekeurige commando's uitvoeren kan prima 8)7

[ Voor 5% gewijzigd door RobIII op 15-08-2017 15:19 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
RobIII schreef op dinsdag 15 augustus 2017 @ 15:18:
Ja want willekeurige scripts in de browser van een willekeurige bezoeker draaien die willekeurige commando's uitvoeren kan prima 8)7
Ik zei niet dat dat op de client moet.

Het is toch logisch om dat op de server zelf te doen en dan via XMLHttpRequest dit te tonen op de client.

Je kan dit ook reverse doen door de servers zelf een ICMP request te laten doen naar het IP van de bezoeker.
Stel mijn IP is 1.2.3.4 dan laat je de servers een "ping" doen naar 1.2.3.4.
Werkt natuurlijk alleen als ICMP aan staat in de router van de bezoeker.

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • Gijs007
  • Registratie: Februari 2008
  • Laatst online: 08-10 16:36
DanielG schreef op dinsdag 15 augustus 2017 @ 13:56:
Je moet wel een dienst draaien lokaal, of dit een webserver of iets anders is maakt niet uit. Zie https://socket.io/docs/ bijvoorbeeld. Let wel op dat socket.io niet een ping dienst is, zij (verygames.net) hebben zelf in code iets gemaakt om soort van ping te emuleren. Het zal niet zo eenvoudig zijn om dit zelf zonder technische kennis op te zetten.
Enig idee welk bedrijf/persoon ik kan inschakelen om dit te realiseren?

Heb op freelancer.com een project geplaatst, maar krijg daar alleen maar standaard reacties die vaak niet eens relevant zijn. 8)7

AMD Ryzen 7 9800X3D | Corsair H150i Elite LCD | GIGABYTE X670E AORUS XTREME | G.Skill Trident Z F5-7800J3646H16GX2-TZ5RK | Inno3D GeForce RTX 4090 iCHILL X3 | Corsair HX1000i | Crucial T700 4TB | Intel Optane 905P 1.5TB | MP600 NH 8TB | Corsair iCUE 5000T


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Devschuurder werven? Gebruik Vraag & Aanbod! staat toch niet voor niets bovenaan dit forum te prijken?
In de Devschuur hebben we het over zélf maken/programmeren. Als dit topic nu naar uitbesteden gaat houdt het gauw op.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Gijs007
  • Registratie: Februari 2008
  • Laatst online: 08-10 16:36
RobIII schreef op woensdag 16 augustus 2017 @ 00:14:
Devschuurder werven? Gebruik Vraag & Aanbod! staat toch niet voor niets bovenaan dit forum te prijken?
In de Devschuur hebben we het over zélf maken/programmeren. Als dit topic nu naar uitbesteden gaat houdt het gauw op.
Thanks, ik was er niet van op de hoogte dat Vraag & Aanbod tegenwoordig ook voor diensten gebruikt kan worden. Heb iig een advertentie gemaakt.

AMD Ryzen 7 9800X3D | Corsair H150i Elite LCD | GIGABYTE X670E AORUS XTREME | G.Skill Trident Z F5-7800J3646H16GX2-TZ5RK | Inno3D GeForce RTX 4090 iCHILL X3 | Corsair HX1000i | Crucial T700 4TB | Intel Optane 905P 1.5TB | MP600 NH 8TB | Corsair iCUE 5000T

Pagina: 1