mac

Man ahnt förmlich, wie PC-Hardware entworfen und hergestellt wird:
einfach Scheiße durch's Sieb drücken und Intel inside drüber hauchen
-- lässt sich garantiert verkaufen ...
- lars@elbe.desy.de


7.1.2024

TotalSpaces 3Signal beschwerte sich als erster über ein nicht mehr supportetes Betriebssystem, dann folgte Teamviewer und dann andere . . .  Es war Zeit, sich von seiner gewohnten Umgebung zu verabschieden und mac OS upzugraden. Ich weiss genau, welchen Ärger und Generve solche Aktionen mit sich bringen, deshalb habe ich erstmal ein paar Backups gemacht und dann noch eine VM mit dem aktuellen Stand erstellt. Für alle Fälle.

Wider Erwarten ging es eigentlich ganz gut mit der Umstellung auf Monterey. Zumindest kann ich arbeiten und die Dezember Buchhaltung ist auch erledigt. Alles scheint soweit zu laufen mit den folgenden Ausnahmen:

  • Musik ist da und iTunes ist weg. In der Oberfläche von Musik fehlen auch alle Platten/CD's, die als MP3 den Weg ins iTunes gefunden haben. Warum das so ist habe ich noch nicht rausgefunden, das wird schon noch.
  • Mein geliebter TotalSpaces 2 Windowmanger läuft nicht mehr, weil Apple das Betriebssystem immer mehr dichtgerammelt hat (SIP). Für aktuelle mac OS'se gibt es eine beta-Version TotalSpaces 3, die ganz ordentlich auf meinem letzten x86 Mac Mini läuft. Einiges ist anders und man merkt den beta Status - aber das Ding ist benutzbar.
  • Totalspaces 2 konnte man aufrufen, indem man die aktiven Ecken für Mission Control benutzt hat - das geht nicht (mehr ?). Dafür habe  ich BetterTouchTool entdeckt, mit dem man wirklich allen möglichen Triggern (hier: Maus wird in die obere rechte Ecke geschoben) alle möglichen Aktionen zuordnen kann. Ein Wahnsinnstool.

Unter Ventura und Sonoma gibt es offenbar Probleme mit dem GPG Plugin für Mail und TotalSpaces soll dort auch spinnen, also lass' ich das lieber erstmal.

 


27.12.2023

Macs haben immer schon mal die Prozessoren gewechselt, 68K, MIPS, 80x86 und nun ARM. Ich benutze hier die letzen x86 in Notebook und stationär weil es für mich essentiell ist, alle möglichen x86er Betriebssysteme (Windows, Linux, xBSD etc) an Bord zu haben, hier via VMware Fusion. Sehr zufrieden damit. Nur gibt es keine neuen x86er Macs mehr zu kaufen. Auf einem ARM Mac kann kein x86er OS via VMware emuliert werden.

Jetzt bin ich auf UTM gestossen ( siehe: https://mac.getutm.app/ ) offenbar ein QEMU Fork nur für Apple. Das Ding virtualisiert nicht nur, es emuliert auch. Wie gut und genau die Emulation ist, gilt es zu untersuchen.

 

 


5.1.2022

Erstellen von ISO Files aus den Apple Mac OS Installations dmg's bzw app's: Der Prozess via command line wird hier "Startfähiges Installationsprogramm für macOS erstellen" kurz und knapp erklärt und durchgespielt. Und anschliessend konvertieren eines Mac OS Installations-ISO Files in ein USB Stick Image:

hdiutil convert -format UDRW -o USB-Stick-Image.img CD-oder-DVD-ISO-Image.iso

Schliesslich per dd oder mit soetwas wie balenaEtcher auf den USB Stick kopieren.


 


IPv6 DHCP - oder die Suche nach der DUID   (Juni 2014)

 Zur Konfiguration eines Mac's per DHCPv6 benötigt man auf der Server-Seite die DUID dieses MAC's. (siehe unten ...)

Es gibt mehrere Möglichkeiten, an diese DUID zu kommen:

Möglichkeit 1:

Im Terminal auf dem Mac ausführen:

ipconfig getv6packet en0

und man findet (nach einer erfolgreichen Transaktion mit einem DHCPv6 Server) im Output eine Zeile wie diese (Ethernet Mac Adressen geändert):

CLIENTID (1) Length 14 DUID LLT HW 1 Time 455105088 Addr 00:25:4b:xx:yy:zz

Dort ist die DUID schon vorhanden ("Time 455105088 Addr 00:25:4b:xx:yy:zz") aber noch nicht nutzbar (siehe unten).

Möglichkeit 2:

Aufruf von:

tcpdump -lvi <interface-name> ip6 or icmp6

und den DHCPv6 Handshake aufzeichnen. Dort fird man dan ähnliches wie dieses finden:

12:42:37.318870 IP6 (flowlabel 0x91d82, hlim 1, next-header UDP (17) payload length: 106) fe80::225:nnnn:oooo:pppp.dhcpv6-client > ff02::1:2.dhcpv6-server: 
[udp sum ok] dhcp6 request (xid=a869cc (client-ID hwaddr/time type 1 time 455105088 00254bxxyyzz) (option-request DNS-server DNS-search-list) (elapsed-time 0)
(server-ID hwaddr/time type 1 time 418558931 001b21aabbcc) (IA_NA IAID:0 T1:0 T2:0 (IA_ADDR 2001:uuuu:vvvv:wwww::1234 pltime:0 vltime:0)))

Auch dort kann man die DUID schon sehen ("time 455105088 00254bxxyyzz").

Möglichkeit 3:

Man benutze wireshark um sich die DHCPv6 Transaktion anzuschauen, dort findet man dann in den DHCPv6 Paketen unter "Client Identifier":

[....]
DUID: 00:01:00:01:1b:20:5a:40:00:25:4b:xx:yy:zz
DUID Type: link-layer address plus time (1)
Hardware type: Ethernet (1)
[....]

Der Wert hinter "DUID:" ist direkt in der isc-dhcpv6 Konfigurationsdatei benutzbar.

Was bedeuten nun die Werte aus Möglichkeit 1 und 2 ?

Laut RFC3315 setzt sich die DUID zusammen aus:

9.2. DUID Based on Link-layer Address Plus Time [DUID-LLT]

   This type of DUID consists of a two octet type field containing the
   value 1, a two octet hardware type code, four octets containing a
   time value, followed by link-layer address of any one network
   interface that is connected to the DHCP device at the time that the
   DUID is generated.  The time value is the time that the DUID is
   generated represented in seconds since midnight (UTC), January 1,
   2000, modulo 2^32.  The hardware type MUST be a valid hardware type
   assigned by the IANA as described in RFC 826 [14].  Both the time and
   the hardware type are stored in network byte order.  The link-layer
   address is stored in canonical form, as described in RFC 2464 [2].

   The following diagram illustrates the format of a DUID-LLT:

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |               1               |    hardware type (16 bits)    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                        time (32 bits)                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    .                                                               .
    .             link-layer address (variable length)              .
    .                                                               .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Das heisst also in diesem Fall (00:01:00:01:1b:20:5a:40:00:25:4b:xx:yy:zz):

00:01 = DUID Type (DUID-LLT)
00:01 = Hardware Type nach RFC826 (Type 1 = Ethernet)
1b:20:5a:40 = Zeitstempel, oben in 1 und 2 jeweils dezimal 455105088, ergibt hexadezimal 1b 20 5a 40 und
00:25:4b:xx:yy:zz = die mac Adresse des Client Interfaces

Fertig!

Die Zeile in der isc-dhcpv6 Konfigurationsdatei sieht dann folgendermassen aus:

host-identifier option dhcp6.client-id 00:01:00:01:1b:20:5a:40:00:25:4b:xx:yy:zz;

... und der Client bekommt "seine" v6 Adresse.


 

 

Samhain host-based intrusion detection system   (Januar 2014)

Auf der Suche nach einer Software zur Intrusion Detection bin ich auf Samhain gestossen und wollte das mal ausprobieren. Unter Mac OS 10.8 und 10.9 gibt es aber offenbar Probleme mit dem in Xcode enthaltenen Compiler, das Kompilieren der Datei sh_tiger1_64.c triggert offenbar einen Bug im llvm/clang Backend: "ran out of registers during register allocation".

Nach einigem Suchen kam ich auf den Workaround, das man das gute Stück dadurch kompiliert bekommt, das man aus der "configure"-generierten Datei config_xor.h die Zeile "#define TIGER_OPT_ASM 1" auskommentiert.

 


 

IPv6 DHCP mit MAC OS X 10.8.5 als Client      (September 2013)

Um einen MAC per DHCPv6 mit einer oder mehreren IPv6 Adresse(n) zu betanken benötigt man auf der Server-Seite die DUID dieses MAC's.

Diese - von OS X vergebene DUID - findet man in der Datei /private/var/db/dhcpclient/DUID_IA.plist

Vorsicht: beim Restore eines Image-Backups auf einen anderen Mac wandert diese Datei mit! Einfach löschen, dann wird automatisch eine neue DUID erstellt. Der gesamte Client Mechanismus unter MAC OS ist wenig dokumentiert, allerdings funktioniert das ganz hervorrangend und zuverlässig. Demnächst hier mehr zu diesem Thema.

PS: Solle man mal in die Verlegenheit kommen, sich eine DUID selbst generieren zu müssen, gibt es hier ein perl-script dafür.


 

WLAN Diagnose unter MAC OS X 10.8.4     (Juli 2013)

[ Update 01/2014: Das funktioniert genauso unter OS X 10.9.1 Maverics. ]

MAC OS besitzt eine eingebaute WLAN Diagnosemöglichkeit in Mountain Lion. Für diese Zwecke habe ich bisher immer KisMAC benutzt, aber die letzte Version ist von 2011 und ich habe den EIndruck, das das nicht so richtig läuft unter ML.

Für die eingebauten Diagnose Tools gibt es offenbar je nach OS Version unterschiedliche Wege, um die Tools aufzurufen, für 10.8.4 funktionierten diese Wege nicht und deshalb hab' ich's hier einmal dokumentiert:

1. Bei gedrückter ALT/Option Taste das  WLAN Symbol in der Statusleiste anklicken

WLAN Diag ALT Click

 

 

 

 

 

 

 

 

 

 

Jetzt gibt's schon eine Menge mehr Informationen als ohne ALT zu klicken ! Unten ist der Auswahlpunkt "Diagnose für drahtlose Umgebungen öffnen ..." - dort bitte klicken.

2. Anschliessend muss man sich einmal als Administrator durch Passworteingabe authorisieren und weiter gehts danach hiermit:

WLAN Diag Einleitung

 

 

 

 

 

 

 

 

 

 

3. Oben links in der Statuszeile erscheint jetzt "Diagnose für drahtlose Umgebungen" - hier jetzt bei "Fenster -> Dienstprogramme" klicken:

WLAN Diag Fenster DP Click

 

 

 

 

 

 

 

 

 

 

 

4. ... und schon ist man im Startfenster der WLAN Diagnose:

WLAN Diag Info

 

 

 

 

 

 

 

 

 

Im oberen Teil sind die weiteren Wahlmöglichkeiten des Diagnoseprogramms erreichbar: Informationen, Netzverkehr aufzeichnen, Protokollieren WLAN Suche und Leistung. Das "Informationen" Fenster haben wir schon oben gesehen, hier kommen noch Beispiele für das Fenster "WLAN Suche":

WLAN Diag Srch

 

 

 

 

 

 

 

 

 

und "Leistung":

WLAN Diag Grph