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
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
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:
3. Oben links in der Statuszeile erscheint jetzt "Diagnose für drahtlose Umgebungen" - hier jetzt bei "Fenster -> Dienstprogramme" klicken:
4. ... und schon ist man im Startfenster der WLAN Diagnose:
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":
und "Leistung":