Quelle est la différence entre ping -w et ping -W?

15

À quoi sert le -w(délai) indicateur ping? Je ne peux pas en trouver une description dans la pingpage de manuel; uniquement pour -W, qui prend quelques secondes comme paramètre. Quelle est la différence entre eux et comment puis-je définir un délai d'expiration ping (si l'hôte ne répond pas) à 200 ms?

Rafael T
la source
1
Sur quel système d'exploitation, et si Linux, la distribution et dans quel paquet est l' pingexécutable? Il existe plusieurs versions différentes de ping, avec différentes options.
Gilles 'SO- arrête d'être méchant'

Réponses:

20

De man ping:

   -w deadline
          Specify a timeout, in seconds, before ping exits regardless of how many packets have been sent or received. In this case ping does not stop after count packet are sent, it waits either for deadline expire or until count probes are answered or for some error
          notification from network.

   -W timeout
          Time to wait for a response, in seconds. The option affects only timeout in absense of any responses, otherwise ping waits for two RTTs.

Autrement dit, -wdéfinit le délai d'expiration de la session de programme entière . Si vous définissez -w 30, ping(le programme) se terminera après 30 secondes.

-Wd'autre part définit le délai d'expiration pour un seul ping . Si vous définissez -W 1, cette tentative de ping particulière expirera.

Quant à la façon de définir un délai de ping individuel de 200 ms, je ne pense pas que cela puisse être fait avec iputilsla version de ping. Vous voudrez peut-être essayer de programmer directement avec une bibliothèque ICMP.

Chris Down
la source
2
oh, ma page de manuel (archlinux) manque le -wdrapeau, mais a la description. Je pensais juste qu'il appartenait à -W. Donc pas moyen de définir un timeout plus petit que 1s?
Rafael T
@RafaelT Pas à ma connaissance.
Chris Down
Pour être clair: si vous utilisez -w, -csera ignoré. Si vous n'avez besoin que d'un seul ping, vous pouvez utiliser -c 1 -W 4ou tout autre délai approprié pour vous.
John
1

Ma page de manuel (Fedora 18, iputils-20121221-1.fc18) dit

   -w deadline
          Specify  a  timeout, in seconds, before ping exits regardless of
          how many packets have been sent or received. In this  case  ping
          does  not  stop after count packet are sent, it waits either for
          deadline expire or until count probes are answered or  for  some
          error notification from network.

   -W timeout
          Time to wait for a response, in seconds. The option affects only
          timeout in absence of any responses, otherwise  ping  waits  for
          two RTTs.
vonbrand
la source
1

Toutes les bonnes réponses, mais faites attention à cette bizarrerie si (comme moi) vous portez du code entre les plates-formes. Le texte ci-dessous est issu de la documentation «man ping» respective.

Sous Mac OS X:

-W waittime

    Temps en millisecondes pour attendre une réponse pour chaque paquet envoyé.

Sur Raspberry Pi:

-W timeout

    Temps d'attente pour une réponse, en secondes .

J'ai codé sur le Mac pour attendre 1 seconde (1000 ms) -W 1000, mais quand ce code est passé sur le Pi, il a attendu jusqu'à 1000 secondes!

Yutenji
la source