Ich muss mit einem Skript arbeiten, das den ping
Befehl mit seiner normalen Linux-Syntax verwendet. Weder das Standardpaket von Cygwin noch das Windows-Ping-Dienstprogramm funktionieren. Im Moment habe ich das Skript gepatcht, um die Windows-Version zu verwenden (mit einigen Schwierigkeiten; die ausführbare Windows-Datei bietet keine nützlichen Rückkehrcodes, daher muss ich die Ausgabe analysieren), aber ich möchte die Out-of-the- Box-Kompatibilität und zusätzliche Funktionen des Linux-Pings. Bevor ich fortfahre, möchte ich angeben, dass ich Cygwin im Administratormodus ausführe. Es ist keine Privilegienfrage. Es ist ein Versionsproblem.
Der Standardbefehl von Cygwin ping
wird im Setup-Manager im Paket 'ping: Ein grundlegendes Netzwerk-Tool zum Testen der IP-Netzwerkkonnektivität' als Version '1.0-1' aufgeführt. Ohne Argumente wird Folgendes ausgegeben:
Usage: ping [-dfqrv] host [packetsize [count [preload]]]
und die Beschreibung der Manpage beginnt mit "Das DARPA-Internet ist eine große und komplexe Ansammlung von Netzwerkhardware" , die für mich mehr als veraltet ist. Dies ist die Version, in der installiert ist /bin/ping
.
Der Windows- ping
Befehl befindet sich unter $SYSTEMROOT/system32/ping
und gibt beim Aufruf ohne Parameter die folgende Meldung aus.
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
Dies ist sicherlich ein Ping mit vielen Funktionen (insbesondere enthält es Zeitüberschreitungen, was für mich wichtig ist), aber es ist nicht die Version, die bei einer modernen Linux-Installation verfügbar ist:
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
hier online dokumentiert . Ich kann anscheinend keine Verweise auf die Cygwin-Version von Ping finden, außer in Bezug auf Cygwin.
Ich habe diesen alten E-Mail-Thread gefunden, der eine frühe Version von Cygwin ohne Ping beschreibt. Ich habe keine Version von iputils für Windows gefunden.
#include <linux/filename.h>
zu#include <cygwin/filename.h>
und dergleichen, wie ich später , dass die Cygwin Socket - Treiber sind auch Funktionen benötigt von iputils fehlen. Es geht nicht nur darum, Iputils für Cygwin zu erstellen, sondern auch darum, Cygwin für die Arbeit mit Iputils zu erstellen. Ich werde es später versuchen, wenn ich etwas Freizeit habe.