Como obter o nome do host do roteador / ponto de acesso ao qual estou conectado?

1

Estou usando o Linux Mint 17 e estou fazendo um script Conky . Eu gostaria que ele exibisse o nome do host do roteador / ponto de acesso ao qual estou conectado. Eu simplesmente não conheço o comando do Linux para obtê-lo.

    
por leetwanker 06.03.2015 / 04:19

2 respostas

2

EDIT: Apenas percebi que a solicitação era sobre um script específico do Conky depois postando esta resposta baseada em Bash. Deixá-lo aqui apenas no caso de ser útil.

Nome do host de um roteador? Tenho certeza de que isso não é possível, porque a maioria dos gateways não tem um nome de host atribuído nem mesmo fornece seu nome de host. Mas você pode obter o endereço IP usando route canalizado através de grep e awk gostam disso :

route | grep "default" | awk '{ print $2 }'

Isso fornecerá a você o endereço IP bruto do roteador. Agora, se você quiser o endereço MAC, faça isso usando arp e esse comando misturado com grep e awk lá também:

arp -a | grep $(route | grep "default" | awk '{ print $2 }') | awk '{ print $4 }'

E se você quiser atribuir esses valores a variáveis Bash, faça isso para o endereço IP do roteador:

ROUTER_IP=$(route | grep "default" | awk '{ print $2 }')

E faça isso para o endereço MAC:

ROUTER_MAC=$(arp -a | grep $(route | grep "default" | awk '{ print $2 }') | awk '{ print $4 }')

Você pode usar esses valores atribuídos referindo-se a $ROUTER_IP e $ROUTER_MAC . Como se você executasse essas duas atribuições de variáveis agora apenas execute esses comandos echo da linha de comando da seguinte forma:

echo $ROUTER_IP
echo $ROUTER_MAC
    
por 06.03.2015 / 04:38
0

Hostname e ESSID são duas coisas diferentes.

Mas se você estiver usando o Conky e quiser que ESSID seja algo assim:

${offset 60}${font Ubuntu:size=12,weight:normal}${color1}Wlan0: ${wireless_essid wlan0}

Desde que agora está claro para mim, você realmente quer dizer o nome do host do IP externo de um AP e não a confusão entre o nome do host e o ESSID.

Você pode criar um script e colocá-lo no diretório .conky/script

mkdir ~/.conky/scripts

gedit ~/.conky/scripts/hostname.sh

#!/bin/bash
dig +short myip.opendns.com @resolver1.opendns.com | xargs dig +short -x

Torne-o executável chmod +x ~/conky/scripts/hostname.sh

adicione ao seu .conkyrc algo como

${offset 60}${font Ubuntu:size=12,weight:normal}${color1}Hostname: ${execi 10000 ~/.conky/scripts/hostname.sh}
    
por 06.03.2015 / 04:41