Как получить имя хоста маршрутизатора / точки доступа, к которой я подключен?


1

Я использую Linux Mint 17 и делаю сценарий Conky . Я хотел бы, чтобы он отображал имя хоста маршрутизатора / точки доступа, к которой я подключен. Я просто не знаю команду Linux, чтобы получить ее.

Ответы:


2

РЕДАКТИРОВАТЬ: Просто понял, что запрос был о конкретном сценарии Conky после публикации этого ответа на основе Bash. Оставьте это здесь на всякий случай, если это будет полезно.

Имя хоста для роутера? Уверен, что это невозможно, потому что большинству шлюзов не назначено имя хоста или даже не выдано имя хоста. Но вы можете получить IP-адрес по routeканалу grepи awkвот так:

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

Это даст вам чистый IP-адрес маршрутизатора. Теперь, если вы хотите получить MAC-адрес, просто сделайте это, используя arpэту команду, и снова смешайте с grepи awkтам:

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

И если вы хотите присвоить эти значения переменным Bash, просто сделайте это для IP-адреса маршрутизатора:

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

И сделайте это для MAC-адреса:

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

И тогда вы можете использовать эти присвоенные значения, ссылаясь на $ROUTER_IPи $ROUTER_MAC. Например, если вы запустили эти две переменные, просто запустите эти echoкоманды из командной строки следующим образом:

echo $ROUTER_IP
echo $ROUTER_MAC

@leetwanker Спасибо. Как я уже сказал, только понял, что вы спрашивали о конкретной информации Конки после того, как я написал сообщение. Надеюсь, это может кому-то помочь. Может быть ты?
JakeGould

1
Это было именно то, что я искал. Посмотрите на скриншот: ссылка
leetwanker

@leetwanker Привет! Это сработало! Рад, что помог.
JakeGould

1
Думаю, я наконец-то покончил с этим. Снимок экрана: ссылка
leetwanker

0

Имя хоста и ESSIDдве разные вещи.

Но если вы используете Conky и хотите, чтобы ESSIDэто было примерно так:

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

Поскольку теперь мне ясно, вы на самом деле имеете в виду имя хоста внешнего IP-адреса точки доступа, а не путаницу имени хоста и ESSID.

Вы можете создать скрипт и поместить его в свой .conky/scriptкаталог

mkdir ~/.conky/scripts

gedit ~/.conky/scripts/hostname.sh

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

Сделайте это исполняемым chmod +x ~/conky/scripts/hostname.sh

добавить к вашему .conkyrcчто-то вроде

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

Извините, должен был указать, что я хотел это для проводного соединения.
leetwanker
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.