Verifique la conexión al servidor AFP a través de bash

3

¿Hay alguna forma de verificar mediante programación si se establece una conexión a un servidor afp? He intentado hacer ping al servidor, pero eso siempre produce un tiempo de espera.

Hasta ahora, la única solución que he llegado a trabajar es:

#!/bin/bash
open "afp://website.com/afpDir/"
until [[ -d /Volumes/afpDir/ ]]; do
    echo 'waiting for connections'
    sleep 1
done

Sin embargo, esto solo funciona si compruebo específicamente el directorio afpDir mientras está abierto en el Finder. ¿Hay alguna forma confiable de verificar si hay una conexión con ese servidor afp o tal vez incluso encontrar una ip confiable para el servidor?

    
pregunta Micks Ketches 26.10.2017 - 19:46

1 respuesta

1

Para verificar si se ha establecido una conexión a un servidor AFP, con el puerto de escucha fijo 548:

netstat -naf inet | grep [.]548[\ ].*ESTAB*

o con comillas:

netstat -naf inet | grep '[.]548[\ ].*ESTAB*'

con -naf inet : sin resolución de nombres, todos los sockets y restringidos a IPv4

y [.]548[\ ].*ESTAB* (grep para un) <IP-address>.548 ESTABLISHED . Se requiere [.] para excluir puertos como 2548 o 10548. [\ ] excluye puertos como 5480 o 5481. El .* concatena todo (tab / espacios) entre 548 y ESTAB *.

Un resultado de ejemplo se ve así:

tcp4       0      0  192.168.1.24.54340       192.168.1.2.548         ESTABLISHED

192.168.1.24 es la dirección IP del cliente y 192.168.1.2 la dirección IP del servidor.

    
respondido por el klanomath 27.10.2017 - 01:58

Lea otras preguntas en las etiquetas