Verwenden Sie Linux-Ping in Cygwin

Verwenden Sie Linux-Ping in Cygwin

Ich muss mit einem Skript arbeiten, das den pingBefehl mit seiner normalen Linux-Syntax verwendet. Weder das Standardpaket von Cygwin noch das Windows-Ping-Dienstprogramm funktionieren. Vorerst habe ich das Skript so gepatcht, dass es die Windows-Version verwendet (mit einigen Schwierigkeiten; die ausführbare Windows-Datei bietet keine nützlichen Rückgabecodes, sodass ich die Ausgabe analysieren muss), aber ich hätte gerne die sofort einsatzbereite Kompatibilität undZusatzfunktionendes Linux-Pings. Bevor ich weitermache, möchte ich darauf hinweisen, dass ich Cygwin im Administratormodus ausführe. Es handelt sich nicht um ein Problem mit den Berechtigungen. Es ist ein Versionsproblem.

Der Standardbefehl von Cygwin pingist im Setup-Manager im Paket „ping: ein grundlegendes Netzwerktool zum Testen der IP-Netzwerkkonnektivität“ als Version „1.0-1“ aufgeführt. Ohne Argumente gibt er Folgendes aus:

Usage:  ping [-dfqrv] host [packetsize [count [preload]]]

und die Manpage-Beschreibung beginnt mit„Das DARPA-Internet ist eine große und komplexe Ansammlung von Netzwerkhardware“,, was sich für mich mehr als veraltet liest. Dies ist die in installierte Version /bin/ping.

Der Windows- pingBefehl befindet sich unter $SYSTEMROOT/system32/pingund 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 mehr Funktionen (insbesondere enthält er Timeouts, was mir wichtig ist), aber es ist nicht die Version, die auf 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

online dokumentiertHier. Ich kann scheinbar keine Verweise auf die Cygwin-Version von Ping finden, außer in Bezug auf Cygwin.

ich fanddieser alte E-Mail-Threaddas eine frühe Version von Cygwin ohne Ping beschreibt. Ich habe keine für Windows entwickelte Version von iputils gefunden.

Antwort1

Sie könnten entweder

  • Versuchen Sie, Ping aus der Quelle zu erstellen. Dies ist Teil deriputils-Paket. Aber das Erstellen von Dingen auf Cygwin kann ziemlich mühsam sein.

Oder (und das würde ich zuerst versuchen)

verwandte Informationen