J'ai besoin de travailler avec un script qui utilise la ping
commande avec sa syntaxe Linux ordinaire, ni le package par défaut de Cygwin ni l'utilitaire ping de Windows ne fonctionneront. Pour l'instant, j'ai corrigé le script pour utiliser la version Windows (avec quelques difficultés; l'exécutable Windows ne fournit pas de codes de retour utiles, donc je dois analyser la sortie), mais j'aimerais le sortir de l'- compatibilité de la boîte et fonctionnalités supplémentaires du ping Linux. Avant d'aller plus loin, permettez-moi de déclarer que j'exécute Cygwin en mode administrateur; ce n'est pas une question de privilège. C'est un problème de versions.
La ping
commande par défaut de Cygwin est répertoriée comme étant la version «1.0-1» dans le gestionnaire de configuration, dans le package «ping: un outil réseau de base pour tester la connectivité réseau IP». Sans argument, il génère:
Usage: ping [-dfqrv] host [packetsize [count [preload]]]
et la description de la page de manuel commence par "Internet DARPA est une agrégation large et complexe de matériel réseau" , qui me paraît plus que peu à jour. Il s'agit de la version installée dans /bin/ping
.
La ping
commande de Windows se trouve sur $SYSTEMROOT/system32/ping
et génère le message suivant lors de l'invocation sans paramètres.
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] target_name
C'est certainement un ping plus riche en fonctionnalités (notamment, il inclut des délais d'attente, ce qui est important pour moi), mais ce n'est pas la version disponible sur une installation Linux moderne:
ping [ -LRUbdfnqrvVaAB] [ -c count] [ -i interval] [ -l preload] [ -p pattern]
[ -s packetsize] [ -t ttl] [ -w deadline] [ -F flowlabel] [ -I interface]
[ -M hint] [ -Q tos] [ -S sndbuf] [ -T timestamp option] [ -W timeout]
[ hop ...] destination
documenté en ligne ici . Je n'arrive pas à trouver des références à la version cygwin de ping, sauf en référence à Cygwin.
J'ai trouvé cet ancien fil de discussion qui décrit une première version de Cygwin sans ping. Je n'ai trouvé aucune version d'iputils conçue pour Windows.
#include <linux/filename.h>
en#include <cygwin/filename.h>
etc., j'ai constaté plus tard que les pilotes de socket Cygwin manquaient également de fonctionnalités nécessaires à iputils. Ce n'est pas seulement une question de construction d'iputils pour Cygwin, c'est aussi une question de construction de Cygwin pour travailler avec iputils. J'essaierai plus tard si j'ai du temps libre.