# networksetup — Netzwerkeinstellungen per Kommandozeile konfigurieren

> Praxis-Guide zu networksetup — Netzwerk-Dienste, WLAN, DNS, Proxies und Interfaces unter macOS per Kommandozeile konfigurieren.

Source: https://www.jpkc.com/db/cheatsheets/macos/networksetup/

<!-- PROSE:intro -->
`networksetup` ist das CLI zur Netzwerk-Systemeinstellung von macOS – damit konfigurierst du Netzwerk-Dienste und Interfaces, WLAN, DNS, Proxies und VPN direkt von der Kommandozeile. Es ist faktisch das Gegenstück zu „Systemeinstellungen > Netzwerk", nur skriptbar und ohne Klickwege. Das macht es ideal für Automatisierung, Fernwartung über SSH und reproduzierbare Setups. Dieser Guide zeigt dir die wichtigsten Befehle für den Alltag, vom Auflisten der Dienste bis zur statischen IP und zum Proxy.
<!-- PROSE:intro:end -->

## Liste & Infos

`networksetup -listallnetworkservices` — Listet alle Netzwerk-Dienste (Interfaces) auf.

```bash
networksetup -listallnetworkservices
```

`networksetup -listallhardwareports` — Listet Hardware-Ports mit Gerätenamen und MAC-Adressen auf.

```bash
networksetup -listallhardwareports
```

`networksetup -getinfo '<service>'` — Zeigt IP, Subnetz, Router und DNS eines Dienstes.

```bash
networksetup -getinfo 'Wi-Fi'
```

`networksetup -getmacaddress <device>` — Zeigt die MAC-Adresse eines Geräts.

```bash
networksetup -getmacaddress en0
```

## WLAN

`networksetup -setairportpower en0 on` — Schaltet WLAN ein.

```bash
networksetup -setairportpower en0 on
```

`networksetup -setairportpower en0 off` — Schaltet WLAN aus.

```bash
networksetup -setairportpower en0 off
```

`networksetup -setairportnetwork en0 '<SSID>' '<password>'` — Verbindet sich mit einem WLAN-Netzwerk.

```bash
networksetup -setairportnetwork en0 'MyNetwork' 'mypassword'
```

`networksetup -getairportnetwork en0` — Zeigt das aktuell verbundene WLAN-Netzwerk.

```bash
networksetup -getairportnetwork en0
```

`networksetup -listpreferredwirelessnetworks en0` — Listet bevorzugte (gespeicherte) WLAN-Netzwerke auf.

```bash
networksetup -listpreferredwirelessnetworks en0
```

`networksetup -removepreferredwirelessnetwork en0 '<SSID>'` — Entfernt ein gespeichertes WLAN-Netzwerk.

```bash
networksetup -removepreferredwirelessnetwork en0 'OldNetwork'
```

## DNS

`networksetup -getdnsservers '<service>'` — Zeigt die DNS-Server eines Netzwerk-Dienstes.

```bash
networksetup -getdnsservers 'Wi-Fi'
```

`networksetup -setdnsservers '<service>' <dns1> <dns2>` — Setzt die DNS-Server eines Netzwerk-Dienstes.

```bash
networksetup -setdnsservers 'Wi-Fi' 1.1.1.1 8.8.8.8
```

`networksetup -setdnsservers '<service>' empty` — Setzt DNS auf den Standard zurück (per DHCP bezogen).

```bash
networksetup -setdnsservers 'Wi-Fi' empty
```

`networksetup -getsearchdomains '<service>'` — Zeigt die Such-Domains.

```bash
networksetup -getsearchdomains 'Wi-Fi'
```

`networksetup -setsearchdomains '<service>' <domain1> <domain2>` — Setzt die Such-Domains.

```bash
networksetup -setsearchdomains 'Wi-Fi' example.com local
```

## IP-Konfiguration

`networksetup -setdhcp '<service>'` — Stellt einen Dienst auf DHCP um.

```bash
networksetup -setdhcp 'Ethernet'
```

`networksetup -setmanual '<service>' <ip> <subnet> <router>` — Setzt eine statische IP-Adresse.

```bash
networksetup -setmanual 'Ethernet' 192.168.1.100 255.255.255.0 192.168.1.1
```

`networksetup -setv6automatic '<service>'` — Stellt IPv6 auf automatisch.

```bash
networksetup -setv6automatic 'Wi-Fi'
```

`networksetup -setv6off '<service>'` — Deaktiviert IPv6 für einen Dienst.

```bash
networksetup -setv6off 'Wi-Fi'
```

## Proxy

`networksetup -getwebproxy '<service>'` — Zeigt die HTTP-Proxy-Einstellungen.

```bash
networksetup -getwebproxy 'Wi-Fi'
```

`networksetup -setwebproxy '<service>' <host> <port>` — Setzt einen HTTP-Proxy.

```bash
networksetup -setwebproxy 'Wi-Fi' proxy.example.com 8080
```

`networksetup -setwebproxystate '<service>' off` — Deaktiviert den HTTP-Proxy.

```bash
networksetup -setwebproxystate 'Wi-Fi' off
```

`networksetup -setsocksfirewallproxy '<service>' <host> <port>` — Setzt einen SOCKS-Proxy.

```bash
networksetup -setsocksfirewallproxy 'Wi-Fi' localhost 1080
```

`networksetup -setproxybypassdomains '<service>' <domains>` — Setzt Domains, die den Proxy umgehen.

```bash
networksetup -setproxybypassdomains 'Wi-Fi' localhost 127.0.0.1 *.local
```

<!-- PROSE:outro -->
## Fazit

`networksetup` macht die Netzwerkkonfiguration von macOS skriptbar und damit reproduzierbar – ideal für Provisioning, Fernwartung und schnelle DNS- oder Proxy-Wechsel ohne Klickweg durch die Systemeinstellungen. Die schreibenden Befehle (`-set…`) ändern aktive Netzwerk-, DNS- und Proxy-Einstellungen und benötigen meist `sudo`; über SSH kann ein falscher Wert dir die Verbindung kappen – teste solche Änderungen mit Bedacht. Beachte außerdem, dass WLAN-Passwörter als Klartext-Argument von `-setairportnetwork` in der Shell-History und Prozessliste landen.

## Weiterführende Links

- [networksetup im macOS-Benutzerhandbuch](https://support.apple.com/de-de/guide/terminal/welcome/mac) – Terminal-Dokumentation von Apple
- [man networksetup](https://keith.github.io/xcode-man-pages/networksetup.8.html) – vollständige Man-Page mit allen Optionen (englisch)
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [caffeinate](https://www.jpkc.com/db/cheatsheets/macos/caffeinate/) – verhindert, dass der Mac in den Ruhezustand wechselt
- [defaults](https://www.jpkc.com/db/cheatsheets/macos/defaults/) – liest und schreibt macOS-Einstellungen (plist-Dateien)
- [diskutil](https://www.jpkc.com/db/cheatsheets/macos/diskutil/) – verwaltet Festplatten, Volumes und Partitionen

