Preciso recuperar o gateway padrão em uma máquina Mac. Eu sei que no Linux, a rota -n dará uma saída da qual eu posso facilmente recuperar esta informação. No entanto, isso não está funcionando no Mac OSX (Snow Leopard).
Eu também tentei netstat -nr | grep 'default'
, mas esperava uma saída mais limpa como a produzida pelo route -n
Linux / Unix. netstat -nr
lista todas as interfaces e o gateway padrão para elas.
Qualquer tipo de sugestão ou dica na direção certa será apreciada.
Respostas:
Você pode tentar com:
Não é o mesmo que GNU / Linux
route -n
(ou mesmoip route show
), mas é útil para verificar as informações de rota padrão. Além disso, você pode verificar a rota que os pacotes seguirão para um determinado host. Por exemploA saída seria semelhante a:
IMHO
netstat -nr
é o que você precisa. Até mesmo o aplicativo de utilitário de rede do MacOSX (*) usa a saída de netstat para mostrar informações de roteamento.Eu espero que isso ajude :)
(*) Você pode iniciar o utilitário de rede com
open /Applications/Utilities/Network\ Utility.app
fonte
Para obter a lista de endereços IP associados, você pode usar o comando netstat
Isso fornece uma longa lista de endereços IP e não é fácil encontrar o campo obrigatório. O resultado da amostra é o seguinte:
O endereço IP do gateway está na primeira linha; um com padrão em sua primeira coluna.
Para exibir apenas as linhas de resultado selecionadas, podemos usar o comando grep junto com o netstat
Este comando filtra e exibe as linhas de resultado que possuem o padrão. Neste caso, você pode ver o resultado como o seguinte:
Se você estiver interessado em encontrar apenas o endereço IP do gateway e nada mais, você pode filtrar ainda mais o resultado usando awk . O comando awk corresponde ao padrão no resultado de entrada e exibe a saída. Isso pode ser útil quando você está usando o resultado diretamente em algum programa ou trabalho em lote.
O comando awk diz para combinar e imprimir a segunda coluna do resultado no texto. O resultado final é assim:
Neste caso, netstat exibe todos os resultados, grep apenas seleciona a linha com 'default' nele, e awk ainda corresponde ao padrão para exibir a segunda coluna no texto.
Você pode usar o comando route -n get default para obter o resultado necessário. O comando completo é
Esses comandos funcionam bem no Linux, bem como em sistemas Unix e MAC OS.
fonte
O utilitário grep não é necessário. Awk pode fazer tudo:
Observe que se você tiver algo como Parallels (ou VPN, ou ambos) em execução, poderá ver duas ou mais entradas de roteamento padrão - será verdade se você usar a sugestão 'grep' acima também.
e
Para definir uma variável (_default) para uso posterior (assumindo apenas uma entrada para 'padrão') .....
No caso de múltiplas rotas padrão, use:
Esses exemplos testados em Mavericks Terminal.app e são específicos apenas para OSX. Por exemplo, outras versões * nix freqüentemente usam 'eth' para conexões ethernet / wireless, não 'en'. Isso também só é testado com ksh. Outros shells podem precisar de uma sintaxe ligeiramente diferente.
fonte
Eu usaria algo nesse sentido ...
fonte
Usando as Preferências do Sistema:
Etapa 1: Clique no ícone Apple (na parte superior esquerda da tela) e selecione Preferências do Sistema.
Etapa 2: Clique em Rede.
Etapa 3: Selecione sua conexão de rede e clique em Avançado.
Etapa 4: Selecione a guia TCP / IP e encontre o endereço IP do gateway listado ao lado de Roteador.
fonte