Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#3

AW: Gute Tutorials / Beispiele zu sed und awk gesucht

  Alt 31. Dez 2010, 13:39
Ja, es ist bash. Das Tool 'ip' habe ich hier auf OSX Snow Leopard aber nicht.

Ich habe z.B. folgende Ausgaben:
Code:
Last login: Thu Dec 30 22:58:25 on ttys001
smartair:~ Sebastian$ airport -I
AirPort: Off
smartair:~ Sebastian$ networksetup -setairportpower en0 on
smartair:~ Sebastian$ airport -I
     agrCtlRSSI: -59
     agrExtRSSI: 0
    agrCtlNoise: -95
    agrExtNoise: 0
          state: running
        op mode: station
     lastTxRate: 130
        maxRate: 144
lastAssocStatus: 0
    802.11 auth: open
      link auth: wpa2-psk
          BSSID: 0:24:fe:44:d0:7b
           SSID: smartNet
            MCS: 15
        channel: 1
smartair:~ Sebastian$
Das heisst hiermit kann ich ermitteln, ob das WLAN an ist, wenn ja wie die SSID ist und die aktuelle Geschwindigkeit (lastTxRate) und die Empfangsqualität (agrCtlRSSI) in Db.

Welche Geräte welchen sprechenden Namen haben sehe ich hier:
Code:
smartair:~ Sebastian$ networksetup -listnetworkserviceorder
An asterisk (*) denotes that a network service is disabled.
(1) Bluetooth DUN
(Hardware Port: Bluetooth DUN, Device: Bluetooth-Modem)

(2) USB Ethernet
(Hardware Port: USB-Ethernet, Device: en3)

(3) AirPort
(Hardware Port: AirPort, Device: en0)

(4) iPhone
(Hardware Port: iPhone-USB, Device: en2)

(5) Bluetooth PAN
(Hardware Port: Bluetooth PAN, Device: en1)

smartair:~ Sebastian$ networksetup -listnetworkserviceorder | grep Device
(Hardware Port: Bluetooth DUN, Device: Bluetooth-Modem)
(Hardware Port: USB-Ethernet, Device: en3)
(Hardware Port: AirPort, Device: en0)
(Hardware Port: iPhone-USB, Device: en2)
(Hardware Port: Bluetooth PAN, Device: en1)
smartair:~ Sebastian$
Wie man sieht reicht die untere Ausgabe um den sprechenden Namen und den Interface-Namen zu ermitteln.

Hier muss ich dann mit einem folgenden ifconfig die Status ermitteln:

Code:
smartair:~ Sebastian$ ifconfig en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
   ether 10:93:e9:00:ca:1a
   inet6 fe80::1293:e9ff:fe00:ca1a%en0 prefixlen 64 scopeid 0x4 
   inet 192.168.178.34 netmask 0xffffff00 broadcast 192.168.178.255
   media: autoselect
   status: active
smartair:~ Sebastian$ ifconfig en1
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
   ether 10:93:e9:00:ca:1b
   media: autoselect
   status: inactive
smartair:~ Sebastian$ ifconfig en2
ifconfig: interface en2 does not exist
smartair:~ Sebastian$ ifconfig en3
ifconfig: interface en3 does not exist
smartair:~ Sebastian$
Wie man sieht ist mein iPhone weder per Bluetooth PAN (en1 - inactive) noch per USB (en2) verbunden, noch ist der externe USB-Ethernet-Adapter (en3) angeschlossen. Hier sollte also jedes mal 'not connected' stehen. Wenn connected (so wie das WLAN en0), so soll die aktuelle IPv4 Adresse, die Geschwindigkeit (sofern ermittelbar) und bei Wifi eben noch die SSID angezeigt werden.

Dazu gibt es dann noch die Liste der aktuell verfügbaren WLAN's, von denen mir die SSID reichen würde, die Signalstärke (RSSI) wäre aber auch cool und ggf. die Security (wobei hier secured bzw. offen reichen würde):
Code:
smartair:~ Sebastian$ airport -s
                            SSID BSSID            RSSI CHANNEL HT CC SECURITY (auth/unicast/group)
                     WLAN-3C0C43 88:25:2c:3c:0c:c9 -89  6,-1    Y DE WPA(PSK/TKIP,AES/TKIP) WPA2(PSK/TKIP,AES/TKIP)
                 smartNet Office 06:24:fe:b6:a6:7a -51  1,+1    Y -- WPA(PSK/TKIP/TKIP) WPA2(PSK/AES/TKIP)
                 smartNet Studio 06:24:fe:b2:8e:57 -68  1,+1    Y -- WPA(PSK/TKIP/TKIP) WPA2(PSK/AES/TKIP)
              smartNet Gast WLAN 06:24:fe:44:d0:7b -48  1,+1    Y -- WPA(PSK/TKIP/TKIP) WPA2(PSK/AES/TKIP)
                        smartNet 00:24:fe:44:d0:7b -47  1,+1    Y -- WPA(PSK/TKIP/TKIP) WPA2(PSK/AES/TKIP)
smartair:~ Sebastian$
Ich bin im Text parsen noch nicht so bewandert, deswegen weiss ich gar nicht, welche Tools hier die besten sind um die entsprechenden Stellen sauber zu extrahieren.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat