Скрипт Bash для отображения MAC-адреса Mac Airport - PullRequest
0 голосов
/ 02 ноября 2011

Я плохо разбираюсь в сценариях, но нашел этот сайт, так что, надеюсь, некоторые добрые люди могут мне помочь:)

Мне нужен скрипт bash для отображения адреса Mac в аэропортах машин, я думаю, командаis ..

ifconfig en1 

.., который выдает правильный результат в терминале, но я не знаю, как это использовать.

Я использую Casper Suite в офисной среде и мне нужнополучите отчет, который отображает MAC-адрес беспроводных (аэропортовых) портов.

Чтобы показать вам, как работает Каспер, вот скрипт, который кто-то написал, чтобы проверить, есть ли у машины карта аэропорта или нет

#!/bin/sh

checkHasAnAirportCard=`networksetup -listallhardwareports | grep "Hardware Port: Air" | cut -c 16-`

if [ -z "$checkHasAnAirportCard" ]; then
    echo "<result>No</result>"
else
    echo "<result>Yes</result>"
fi

Спасибо за вашу помощь и предложения

Ответы [ 2 ]

4 голосов
/ 02 ноября 2011

Вы можете сделать это следующим образом:

#!/bin/sh

networksetup -listallhardwareports | egrep -A 2 "(AirPort|Wi-Fi)" | grep Ethernet

Поместите это в текстовый файл с именем, например, airport.sh, сделайте его исполняемым (chmod +x airport.sh) и запустите его:

$ ./airport.sh 
Ethernet Address: 58:b0:35:65:7a:02

Если вы просто хотите, чтобы MAC-адрес сам по себе (без префикса «Ethernet Address:»), измените сценарий следующим образом:

#!/bin/sh

networksetup -listallhardwareports | egrep -A 2 "(AirPort|Wi-Fi)" | grep Ethernet | cut -f 3- -d ' '

Это должно дать, например:

$ ./airport.sh 
58:b0:35:65:7a:02
0 голосов
/ 02 ноября 2011

Что-то подобное может работать для вас (смысл сценария ifconfig en1 | egrep -o "([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}"):

#!/bin/sh

IFACE=en1 ##Put your interface here if it isn't en1

MACADDRESS=`ifconfig ${IFACE} | egrep -o "([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}"`

if [ -n "$MACADDRESS" ]; then
    # Found a mac address, print it out
    echo "$MACADDRESS"
else  
    # No mac found, do something else
fi

Выводит MAC-адрес:

[ 16:15 Jonathan@MacBookPro ~ ]$ ./macMac.sh 
62:c5:4a:8c:c2:74

-n проверяет, является ли $MACADDRESS пустым или нет.
egrep -o ищет это конкретное регулярное выражение и возвращает только совпадение, а не всю строку.

...