Preciso trabalhar com um script que use o ping
comando com sua sintaxe comum do Linux, nem o pacote padrão do Cygwin nem o utilitário ping do Windows funcionarão. Por enquanto, corrigi o script para usar a versão do Windows (com alguma dificuldade; o executável do Windows não fornece códigos de retorno úteis, então tenho que analisar a saída), mas gostaria do out-of-the- compatibilidade de caixa ecaracterísticas adicionaisdo ping do Linux. Antes de prosseguir, deixe-me afirmar que estou executando o Cygwin no modo de administrador; não é uma questão de privilégio. É um problema de versões.
O comando padrão do Cygwin ping
está listado como versão '1.0-1' no gerenciador de configuração, no pacote 'ping: uma ferramenta básica de rede para testar a conectividade da rede IP'. Sem argumentos, ele gera:
Usage: ping [-dfqrv] host [packetsize [count [preload]]]
e a descrição da página de manual começa com“A DARPA Internet é uma agregação grande e complexa de hardware de rede”,, o que parece um pouco desatualizado para mim. Esta é a versão instalada em /bin/ping
.
O comando do Windows ping
está localizado em $SYSTEMROOT/system32/ping
e gera a seguinte mensagem na chamada sem parâmetros.
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
Este é certamente um ping com mais recursos (principalmente inclui tempos limite, o que é importante para mim), mas não é a versão disponível em uma instalação moderna do Linux:
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
documentado on-lineaqui. Não consigo encontrar referências à versão cygwin do ping, exceto em referência ao Cygwin.
eu encontreieste antigo tópico de e-mailque descreve uma versão inicial do Cygwin sem ping. Não encontrei nenhuma versão do iputils projetada para Windows.
Responder1
Você poderia
- tente construir o ping a partir da fonte, faz parte dopacote iputils. Mas construir coisas no cygwin pode ser bastante complicado.
Ou (e eu tentaria isso primeiro)
- tente outra implementação de ping, como esta em perlRede::Pingouum dos outros no CPAN