Auteur Sujet: Scripts pour tester son débit avec des ping différents  (Lu 21223 fois)

0 Membres et 1 Invité sur ce sujet

corrector

  • Invité
Scripts pour tester son débit avec des ping différents
« Réponse #12 le: 01 février 2012 à 20:31:12 »
Je comprends pas ce qui te pose problème  :o ?
Que wget modifie un fichier existant.

C'est une faille de sécurité potentielle.

DrGeek

  • Abonné Free Pro
  • *
  • Messages: 197
  • Jarnioux (69)
Scripts pour tester son débit avec des ping différents
« Réponse #13 le: 01 février 2012 à 21:05:18 »
A noter que le gain de temps ne concernent pas tous les FAI (il faut que je regarde mais on dirait que il y a un bug sur la Bbox sur le reverse DNS)

Pourquoi ça ne m'étonne pas  ::)

Que wget modifie un fichier existant.

C'est une faille de sécurité potentielle.

Alors là... Je comprends encore moins ta logique, tu parles du script ou de wget. Si c'est du script, il s'execute en root, rien que ça c'est une faille de sécurité, donc il faut bien vérifier ce qu'il fait. Ecraser un fichier ça n'a jamais été une faille de sécurité. Après wget, libre à toi de checker le man, si tu savais le nombre de script shell qui tourne dans le monde avec wget... Bref, fait nous un patch si tu trouves que c'est unsecure  ;D

corrector

  • Invité
Scripts pour tester son débit avec des ping différents
« Réponse #14 le: 02 février 2012 à 00:40:51 »
Cela dépend aussi du mode d'ouverture du fichier.

Je n'ai pas regardé le code source.

corrector

  • Invité
Scripts pour tester son débit avec des ping différents
« Réponse #15 le: 02 février 2012 à 02:01:23 »
Si j'ai bien suivi, le fichier est ouvert par fopen ("w") dans log_init dans log.c, appelé depuis main.c.

corrector

  • Invité
Scripts pour tester son débit avec des ping différents
« Réponse #16 le: 02 février 2012 à 02:57:52 »
Après wget, libre à toi de checker le man, si tu savais le nombre de script shell qui tourne dans le monde avec wget... Bref, fait nous un patch si tu trouves que c'est unsecure  ;D
Au contraire, GNU wget fait vraiment tous les efforts pour ne pas écraser accidentellement un fichier de log, implèmenté par unique_create dans utils.c appelé depuis redirect_output dans log.c (appelé depuis log_request_redirect_output appelé depuis redirect_output_signal dans main.c associé à SIGHUP et SIGUSR1) :
FILE *
unique_create (const char *name, bool binary, char **opened_name)
{
  /* unique file name, based on NAME */
  char *uname = unique_name (name, false);
  FILE *fp;
  while ((fp = fopen_excl (uname, binary)) == NULL && errno == EEXIST)
    {
      xfree (uname);
      uname = unique_name (name, false);
    }
  if (opened_name && fp != NULL)
    {
      if (fp)
        *opened_name = uname;
      else
        {
          *opened_name = NULL;
          xfree (uname);
        }
    }
  else
    xfree (uname);
  return fp;
}

/* Open the file for writing, with the addition that the file is
   opened "exclusively".  This means that, if the file already exists,
   this function will *fail* and errno will be set to EEXIST.  If
   BINARY is set, the file will be opened in binary mode, equivalent
   to fopen's "wb".

   If opening the file fails for any reason, including the file having
   previously existed, this function returns NULL and sets errno
   appropriately.  */

FILE *
fopen_excl (const char *fname, int binary)
{
  int fd;
#ifdef O_EXCL

/* 2005-04-14 SMS.
   VMS lacks O_BINARY, but makes up for it in weird and wonderful ways.
   It also has file versions which obviate all the O_EXCL effort.
   O_TRUNC (something of a misnomer) requests a new version.
*/
# ifdef __VMS
/* Common open() optional arguments:
   sequential access only, access callback function.
*/
#  define OPEN_OPT_ARGS "fop=sqo", "acc", acc_cb, &open_id

  int open_id;
  int flags = O_WRONLY | O_CREAT | O_TRUNC;

  if (binary > 1)
    {
      open_id = 11;
      fd = open( fname,                 /* File name. */
       flags,                           /* Flags. */
       0777,                            /* Mode for default protection. */
       "ctx=bin,stm",                   /* Binary, stream access. */
       "rfm=stmlf",                     /* Stream_LF. */
       OPEN_OPT_ARGS);                  /* Access callback. */
    }
  else if (binary)
    {
      open_id = 12;
      fd = open( fname,                 /* File name. */
       flags,                           /* Flags. */
       0777,                            /* Mode for default protection. */
       "ctx=bin,stm",                   /* Binary, stream access. */
       "rfm=fix",                       /* Fixed-length, */
       "mrs=512",                       /* 512-byte records. */
       OPEN_OPT_ARGS);                  /* Access callback. */
    }
  else
    {
      open_id = 13;
      fd = open( fname,                 /* File name. */
       flags,                           /* Flags. */
       0777,                            /* Mode for default protection. */
       "rfm=stmlf",                     /* Stream_LF. */
       OPEN_OPT_ARGS);                  /* Access callback. */
    }
# else /* def __VMS */
  int flags = O_WRONLY | O_CREAT | O_EXCL;
# ifdef O_BINARY
  if (binary)
    flags |= O_BINARY;
# endif
  fd = open (fname, flags, 0666);
# endif /* def __VMS [else] */

  if (fd < 0)
    return NULL;
  return fdopen (fd, binary ? "wb" : "w");
#else  /* not O_EXCL */
  /* Manually check whether the file exists.  This is prone to race
     conditions, but systems without O_EXCL haven't deserved
     better.  */
  if (file_exists_p (fname))
    {
      errno = EEXIST;
      return NULL;
    }
  return fopen (fname, binary ? "wb" : "w");
#endif /* not O_EXCL */
}
Très impressionnant!

corrector

  • Invité
Scripts pour tester son débit avec des ping différents
« Réponse #17 le: 02 février 2012 à 03:30:56 »
Je pense quelque chose dans ce genre serait mieux :
LOGFILE=$(mktemp) || exit 1
wget -O /dev/null http://1.testdebit.info/fichiers/100Mb.dat -o ${LOGFILE}
rm ${LOGFILE}

vivien

  • Administrateur
  • *
  • Messages: 47 168
    • Twitter LaFibre.info
Scripts pour tester son débit avec des ping différents
« Réponse #18 le: 02 février 2012 à 09:03:03 »
Vu le nom du fichier temporaire crée dans /tmp, le risque d'écraser un fichier existant crée par une autre application est... nul !

Je n'ai pas a gérer l'éventualité du script lancé plusieurs fois en // car cela n'a aucun intérêt pour un test de débit

DrGeek

  • Abonné Free Pro
  • *
  • Messages: 197
  • Jarnioux (69)
Scripts pour tester son débit avec des ping différents
« Réponse #19 le: 02 février 2012 à 11:58:38 »
Je pense quelque chose dans ce genre serait mieux :
LOGFILE=$(mktemp) || exit 1
wget -O /dev/null http://1.testdebit.info/fichiers/100Mb.dat -o ${LOGFILE}
rm ${LOGFILE}

OK effectivement c'est plus propre de faire un fichier temporaire comme ceci, mais bon je rejoins vivien, le nom de fichier étant typique il est quasi-impossible que le script écrase un fichier important (qui plus dans le repertoire /tmp avec un nom très particulier).

Après sincèrement être aller jusqu'à regarder le code source du wget...

corrector

  • Invité
Scripts pour tester son débit avec des ping différents
« Réponse #20 le: 02 février 2012 à 21:56:28 »
il est quasi-impossible que le script écrase un fichier important (qui plus dans le repertoire /tmp avec un nom très particulier).
Vraiment?

DrGeek

  • Abonné Free Pro
  • *
  • Messages: 197
  • Jarnioux (69)
Scripts pour tester son débit avec des ping différents
« Réponse #21 le: 03 février 2012 à 10:37:32 »
Résultat du script standard sur une ligne Bbox/NC 100Mbits FTTLA :
==========> DEBUT DU SCRIPT
----------- Test avec ping de + 0ms -------------------
rtt min/avg/max/mdev = 9.547/12.329/22.671/2.590 ms, pipe 2, ipg/ewma 13.353/11.940 ms
2012-02-03 02:22:48 (10,9 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 02:24:35 (11,2 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 1ms -------------------
rtt min/avg/max/mdev = 10.567/14.150/42.952/4.954 ms, pipe 3, ipg/ewma 14.771/12.791 ms
2012-02-03 02:26:29 (10,5 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 02:28:16 (11,2 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 2ms -------------------
rtt min/avg/max/mdev = 12.310/16.262/30.329/3.706 ms, pipe 2, ipg/ewma 16.639/15.482 ms
2012-02-03 02:30:52 (7,67 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 02:32:39 (11,1 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 3ms -------------------
rtt min/avg/max/mdev = 12.102/15.260/22.874/2.066 ms, pipe 2, ipg/ewma 15.889/15.201 ms
2012-02-03 02:36:11 (5,66 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 02:37:58 (11,2 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 5ms -------------------
rtt min/avg/max/mdev = 15.810/18.790/30.560/2.909 ms, pipe 2, ipg/ewma 19.552/18.666 ms
2012-02-03 02:41:01 (6,54 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 02:42:48 (11,1 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 7ms -------------------
rtt min/avg/max/mdev = 16.625/21.304/33.711/3.465 ms, pipe 2, ipg/ewma 22.085/20.487 ms
2012-02-03 02:49:37 (2,92 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 02:51:24 (11,2 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 10ms -------------------
rtt min/avg/max/mdev = 20.986/23.936/33.355/2.541 ms, pipe 2, ipg/ewma 24.624/23.949 ms
2012-02-03 02:59:24 (2,49 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 03:01:11 (11,1 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 12ms -------------------
rtt min/avg/max/mdev = 21.222/25.034/31.465/2.686 ms, pipe 2, ipg/ewma 25.619/25.529 ms
2012-02-03 03:09:36 (2,37 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 03:11:23 (11,1 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 15ms -------------------
rtt min/avg/max/mdev = 23.937/27.231/40.077/2.657 ms, pipe 2, ipg/ewma 27.426/27.996 ms
2012-02-03 03:20:59 (2,07 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 03:22:46 (11,1 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 17ms -------------------
rtt min/avg/max/mdev = 26.379/29.198/38.405/2.209 ms, pipe 2, ipg/ewma 29.672/29.502 ms
2012-02-03 03:32:51 (1,98 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 03:34:38 (11,1 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 20ms -------------------
rtt min/avg/max/mdev = 29.833/32.408/39.862/2.142 ms, pipe 2, ipg/ewma 32.694/32.182 ms
2012-02-03 03:45:58 (1,76 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 03:47:46 (11,0 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 25ms -------------------
rtt min/avg/max/mdev = 34.550/37.636/47.010/2.213 ms, pipe 2, ipg/ewma 38.180/37.350 ms
2012-02-03 04:00:37 (1,55 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 04:02:26 (10,9 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 30ms -------------------
rtt min/avg/max/mdev = 39.420/42.091/47.883/1.520 ms, pipe 2, ipg/ewma 42.560/41.966 ms
2012-02-03 04:16:53 (1,38 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 04:18:45 (10,6 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 40ms -------------------
rtt min/avg/max/mdev = 49.514/52.493/61.741/2.253 ms, pipe 2, ipg/ewma 52.709/52.436 ms
2012-02-03 04:36:22 (1,13 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 04:38:23 (9,86 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 50ms -------------------
rtt min/avg/max/mdev = 59.410/61.667/69.690/1.795 ms, pipe 2, ipg/ewma 62.095/61.951 ms
2012-02-03 04:59:16 (977 KB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 05:01:29 (8,98 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 60ms -------------------
rtt min/avg/max/mdev = 69.262/71.775/79.931/1.892 ms, pipe 2, ipg/ewma 72.101/71.108 ms
2012-02-03 05:25:32 (848 KB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 05:27:56 (8,30 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 70ms -------------------
rtt min/avg/max/mdev = 79.127/82.764/107.350/4.183 ms, pipe 2, ipg/ewma 82.707/85.616 ms
2012-02-03 05:55:13 (748 KB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 05:57:56 (7,31 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 80ms -------------------
rtt min/avg/max/mdev = 89.119/92.107/101.354/2.029 ms, pipe 2, ipg/ewma 92.718/91.863 ms
2012-02-03 06:28:27 (668 KB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 06:31:03 (7,68 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 100ms -------------------
rtt min/avg/max/mdev = 109.095/112.013/115.758/1.304 ms, pipe 2, ipg/ewma 112.827/111.945 ms
2012-02-03 07:08:04 (551 KB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 07:10:50 (7,19 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 150ms -------------------
rtt min/avg/max/mdev = 159.077/162.381/169.424/1.964 ms, pipe 2, ipg/ewma 163.183/161.995 ms
2012-02-03 08:05:05 (376 KB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
2012-02-03 08:08:07 (6,58 MB/s) - « /dev/null » sauvegardé [1250000000/1250000000]
==========> FIN DU SCRIPT  -  http://LaFibre.info
Voilà ;)

kikoolol

  • Abonné Bbox fibre
  • *
  • Messages: 142
  • Nice (06)
Scripts pour tester son débit avec des ping différents
« Réponse #22 le: 07 février 2012 à 06:29:49 »
Résultat du script standard sur FTTH Orange 100/100 Mb/s
J'ai arrêté à 70ms c'était trop long :o
==========> DEBUT DU SCRIPT
----------- Test avec ping de + 0ms -------------------
rtt min/avg/max/mdev = 15.851/16.050/16.366/0.210 ms, pipe 2, ipg/ewma 16.061/16.059 ms
2012-02-06 22:13:52 (1.78 MB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-06 22:16:16 (8.25 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 1ms -------------------
rtt min/avg/max/mdev = 16.885/17.016/17.226/0.200 ms, pipe 2, ipg/ewma 17.042/17.022 ms
2012-02-06 22:27:12 (1.82 MB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-06 22:29:40 (8.04 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 2ms -------------------
rtt min/avg/max/mdev = 17.839/17.992/18.539/0.167 ms, pipe 2, ipg/ewma 18.027/17.977 ms
2012-02-06 22:41:23 (1.70 MB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-06 22:43:54 (7.92 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 3ms -------------------
rtt min/avg/max/mdev = 18.844/18.992/19.291/0.157 ms, pipe 2, ipg/ewma 19.027/18.983 ms
2012-02-06 22:56:12 (1.62 MB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-06 22:58:49 (7.59 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 5ms -------------------
rtt min/avg/max/mdev = 20.841/21.002/21.342/0.222 ms, pipe 2, ipg/ewma 21.032/20.978 ms
2012-02-06 23:12:24 (1.47 MB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-06 23:14:59 (7.67 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 7ms -------------------
rtt min/avg/max/mdev = 22.841/22.975/23.218/0.170 ms, pipe 2, ipg/ewma 23.020/22.967 ms
2012-02-06 23:29:34 (1.36 MB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-06 23:32:10 (7.66 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 10ms -------------------
rtt min/avg/max/mdev = 25.852/25.983/26.307/0.140 ms, pipe 2, ipg/ewma 26.020/25.961 ms
2012-02-06 23:48:51 (1.19 MB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-06 23:51:44 (6.92 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 12ms -------------------
rtt min/avg/max/mdev = 27.855/27.983/28.205/0.201 ms, pipe 2, ipg/ewma 28.024/27.987 ms
2012-02-07 00:09:30 (1.12 MB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-07 00:12:07 (7.61 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 15ms -------------------
rtt min/avg/max/mdev = 30.851/30.982/31.343/0.262 ms, pipe 2, ipg/ewma 31.026/30.973 ms
2012-02-07 00:31:52 (1.01 MB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-07 00:34:35 (7.36 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 17ms -------------------
rtt min/avg/max/mdev = 32.844/32.987/33.235/0.215 ms, pipe 2, ipg/ewma 33.025/32.978 ms
2012-02-07 00:56:20 (936 KB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-07 00:59:18 (6.71 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 20ms -------------------
rtt min/avg/max/mdev = 35.842/36.002/36.196/0.262 ms, pipe 2, ipg/ewma 36.033/35.993 ms
2012-02-07 01:23:07 (855 KB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-07 01:25:59 (6.96 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 25ms -------------------
rtt min/avg/max/mdev = 40.840/40.995/41.241/0.148 ms, pipe 2, ipg/ewma 41.034/41.002 ms
2012-02-07 01:52:16 (775 KB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-07 01:55:10 (6.86 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 30ms -------------------
rtt min/avg/max/mdev = 45.855/45.989/46.332/0.257 ms, pipe 2, ipg/ewma 46.025/45.964 ms
2012-02-07 02:27:16 (635 KB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-07 02:30:18 (6.54 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 40ms -------------------
rtt min/avg/max/mdev = 55.860/55.974/56.199/0.181 ms, pipe 2, ipg/ewma 56.019/55.973 ms
2012-02-07 03:06:47 (559 KB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-07 03:09:54 (6.36 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 50ms -------------------
rtt min/avg/max/mdev = 65.879/66.013/66.276/0.302 ms, pipe 2, ipg/ewma 66.040/66.011 ms
2012-02-07 03:52:48 (475 KB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-07 03:56:08 (5.99 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 60ms -------------------
rtt min/avg/max/mdev = 75.849/75.996/76.277/0.180 ms, pipe 2, ipg/ewma 76.035/75.987 ms
2012-02-07 04:45:25 (413 KB/s) - `/dev/null' saved [1250000000/1250000000]
2012-02-07 04:49:03 (5.49 MB/s) - `/dev/null' saved [1250000000/1250000000]
----------- Test avec ping de + 70ms -------------------
rtt min/avg/max/mdev = 85.844/85.965/86.376/0.331 ms, pipe 2, ipg/ewma 86.027/85.984 ms

vivien

  • Administrateur
  • *
  • Messages: 47 168
    • Twitter LaFibre.info
Scripts pour tester son débit avec des ping différents
« Réponse #23 le: 07 février 2012 à 07:34:08 »
Merci OmBreNoiRe et kikoolol.

Il serait intéressant de voir les résultats d'un abonné Orange plus proche de Paris, pour voir si la baisse de débit se fait aussi comme pour OmBreNoiRe à 12ms de ping bout en bout.

Je serais aussi intéressé par voir le script sur un abonné d'un autre FAI (normalement non impacté).

Voici le fichier résultat avec un serveur Dedibox 100 Mb/s