bw bandwidth fertig
Durchsatz (TCP/UDP) und Latenz zwischen zwei Rechnern messen
bw -s [-u -1] [-p PORT] [ADRESSE] | bw [-u -R -P] [-p PORT -t SEK -l BYTE -b MBIT -c ANZAHL] HOST
statt iperf3
mehr
- -s
- Server (Gegenstelle) starten
- -u
- UDP statt TCP
- -1
- Server: nach einer Messung beenden
- -R
- umgekehrt messen (Server sendet, Client empfängt; nur TCP)
- -P
- Latenz messen (Echo hin und zurück) statt Durchsatz
- -p
- Port (Vorgabe 5201)
- -t
- Messdauer in Sekunden (Vorgabe 5)
- -l
- Blockgröße in Byte (TCP 4096, UDP 1200)
- -b
- UDP-Sendegeschwindigkeit in Mbit/s (Vorgabe 10)
- -c
- Anzahl Echos bei -P (Vorgabe 10)
bw (lang bandwidth, ersetzt iperf3, networkQuality) misst zwischen zwei Rechnern. Auf der Gegenstelle bw -s,
dann bw HOST.
ersetzt: iperf3, networkQuality, iperf
Status: fertig (Mac)
dh dhcp teilweise
Adresse, Router und DNS per DHCP (IPv4) oder DHCPv6 holen und setzen
dh [-4 -6 -n] [-m MAC] [-s SERVER[:PORT]|[SERVER6]:PORT] [-p PORT] [-W SEK] SCHNITTSTELLE
statt dhclient dhcpcd udhcpc
mehr
- -4
- DHCPv4 (Standard)
- -6
- DHCPv6 (mit -4 zusammen: beides)
- -n
- nur holen und zeigen, nichts setzen
- -m
- diese MAC-Adresse verwenden
- -s
- diesen Server fragen statt Rundsendung (zum Testen)
- -p
- eigener Port statt 68 bzw. 546 (zum Testen)
- -W
- Wartezeit für die erste Antwort in Sekunden (Standard 2, verdoppelt sich bis zu 4 Versuche)
und /etc/resolv.conf umgesetzt, aber nicht getestet (braucht Rechte und würde auf dem Mac die Netzeinstellungen
stören); kein Verlängern, kein Freigeben, kein Hintergrunddienst.
ersetzt: dhclient, dhcpcd, udhcpc, ipconfig set en0 DHCP, ipconfig /renew, dhcp
Status: teilweise
dhs dhcpserver fertig
DHCP-Server: Adressen, Router und DNS im Netz vergeben, Leases in einer Datei
dhs [-i SERVER-ADRESSE -r VON-BIS] [-6 VON-BIS] [-m MASKE] [-g ROUTER] [-d DNS,..] [-D DOMÄNE] [-t SEK] [-l DATEI] [-H MAC=IP] [-p PORT] [-c PORT] [-b ADRESSE] [-e DNS6,..] [-I SCHNITTSTELLE] [-Q PORT] [-C PORT] [-B ADRESSE6] [-N ANZAHL] [-v]
statt dhcpd dnsmasq udhcpd
mehr
- -i
- eigene Adresse (Server-Kennung)
- -r
- Adressbereich, z. B. 192.168.1.100-192.168.1.200
- -m
- Netzmaske (Standard 255.255.255.0)
- -g
- Router, der mitgeteilt wird
- -d
- DNS-Server, durch Komma getrennt
- -D
- Domäne
- -t
- Lease-Dauer in Sekunden (Standard 3600)
- -l
- Lease-Datei (Standard /var/lib/dhs.leases)
- -H
- feste Zuordnung MAC=Adresse (mehrfach möglich)
- -p
- eigener Serverport statt 67 (zum Testen)
- -c
- Clientport statt 68 für Rundsendungen
- -b
- nur an dieser Adresse lauschen (zum Testen)
- -6
- IPv6-Adressbereich für DHCPv6, z. B. fd00::100-fd00::1ff (nur die letzten 16 Bit dürfen sich unterscheiden)
- -e
- IPv6-DNS-Server, durch Komma getrennt (höchstens 2)
- -I
- Schnittstelle für DHCPv6 (tritt ff02::1:2 bei, nötig im echten Netz)
- -Q
- eigener DHCPv6-Serverport statt 547 (zum Testen)
- -C
- DHCPv6-Clientport statt 546
- -B
- DHCPv6 nur an dieser Adresse lauschen (zum Testen)
- -N
- nach ANZAHL Antworten beenden
- -v
- jede Anfrage und Antwort melden
im echten Netz (Port 67/547, Rundsendung, Multicast ff02::1:2) nicht gelaufen, weil dort kein fremder DHCP-Server
gestört werden soll.
ersetzt: dhcpd, dnsmasq, kea, bootpd, udhcpd
Status: fertig (Mac)
dl download teilweise
Dateien über HTTP herunterladen und Anfragen schicken
dl [-q -v -I -f -c -n -N] [-o DATEI|-] [-d DATEN|@DATEI] [-X METHODE] [-H 'Name: Wert'] [-u NAME:PASSWORT] [-W SEK] URL...
statt curl wget fetch
mehr
- -o
- in diese Datei speichern (- = Standardausgabe)
- -f
- vorhandene Datei überschreiben
- -c
- abgebrochenen Abruf fortsetzen
- -q
- still (keine Fortschrittsanzeige)
- -v
- Anfrage und Antwortkopf zeigen
- -I
- nur den Antwortkopf holen (HEAD)
- -d
- Daten senden (POST), @DATEI liest sie aus einer Datei
- -X
- andere Methode (PUT, DELETE, …)
- -H
- zusätzliche Kopfzeile
- -u
- Anmeldung (Basic)
- -N
- Umleitungen nicht folgen
- -n
- nur zeigen, was geholt würde
- -W
- Zeitgrenze in Sekunden (Standard 30)
Eigene HTTP/1.1-Umsetzung: Content-Length, Stückelung (chunked), Ende per Verbindungsschluss, Umleitungen
(bis 10, auch relativ), Fortsetzen mit Range, Basic-Anmeldung, http_proxy, IPv6-Adressen in [ ].
ersetzt: curl, wget, bitsadmin, certutil -urlcache, fetch, ftp, lftp, ftpget, ftpput, tftp
Status: teilweise
dns dnslookup fertig
Namen und Adressen im DNS nachschlagen
dns [-v -T -r -4 -6] [-t TYP] [-p PORT] [-W SEK] NAME|ADRESSE [TYP] [@SERVER]
statt host nslookup dig drill
mehr
- -t
- Eintragstyp: A AAAA MX TXT NS CNAME SOA PTR SRV CAA ANY oder TYPnn
- -v
- ausführlich: TTL, Kopf, alle Abschnitte (wie dig)
- -T
- über TCP fragen
- -r
- ohne Rekursion fragen
- -p
- Port des Servers (Standard 53)
- -W
- Wartezeit je Versuch in Sekunden (Standard 2)
- -4
- nur IPv4-Server
- -6
- nur IPv6-Server
Eigener DNS-Client (UDP, bei gekürzter Antwort automatisch TCP). Fragt den ersten erreichbaren Server aus
/etc/resolv.conf oder den mit @SERVER angegebenen – IPv4 und IPv6 gleich (@::1, IPv6-Server aus
resolv.conf, -4/-6 wählen die Familie). AAAA-Einträge und Rückwärtssuche über ip6.arpa gehören dazu.
Getestet auf 127.0.0.1 und ::1 (UDP und TCP).
ersetzt: host, nslookup, drill, dig
Status: fertig (Mac)
eth ethtool teilweise
Verbindung der Netzkarten: Art, Medium, Duplex, MTU, Fehlerzähler
eth [-a] [SCHNITTSTELLE] | eth [-n] SCHNITTSTELLE mtu ZAHL
statt ethtool
mehr
- -a
- auch die möglichen Medien zeigen
- -n
- nur zeigen, was eingestellt würde
und mit der Fehlermeldung ohne Rechte getestet; Medium/Geschwindigkeit setzen, Treiber- und Offload-Angaben fehlen
ersetzt: ethtool, netsh, ifconfig -m
Status: teilweise – Anzeigen fertig (Mac, abgeglichen mit ifconfig); MTU setzen umgesetzt, aber nur als Probelauf
fw firewall teilweise
Firewall-Regeln einfach schreiben, prüfen und in Tabellenform übersetzen
fw [-q -v] check|list|compile|dump|match|rule|laden|status ...
statt nft iptables ufw pfctl firewall-cmd
mehr
- -q
- still (nur Rückgabewert)
- -v
- Regeln nummeriert ausgeben
Regeln in den Netzstapel laden fehlt, bis nullos einen hat (plat_nullos.c ist Platzhalter).
ersetzt: nft, iptables, ufw, firewalld, pfctl, socketfilterfw, netsh advfirewall, ipfw, ipf
Status: teilweise
htp httpd fertig
Dateien eines Ordners über HTTP ausliefern (IPv4 und IPv6)
htp [-q] [-b ADRESSE] [-p PORT] [-W SEK] [ORDNER]
statt httpd
mehr
- -b
- nur auf dieser Adresse lauschen (IPv4, IPv6, ::1]); ohne: IPv6 und IPv4 zugleich
- -p
- Port (Standard 8000, 0 = frei wählen)
- -q
- Anfragen nicht protokollieren
- -W
- Zeitgrenze für den Anfragekopf in Sekunden (Standard 10)
GET und HEAD, index.html oder Ordnerliste, Dateityp nach Endung, ein Bereich per Range (zum Fortsetzen, z. B.
dl -c), %xx in Pfaden, kein Weg aus dem Ordner hinaus (.., auch verschlüsselt). Eine Anfrage je Verbindung,
eine Verbindung nach der anderen (kein fork, läuft so auch ohne MMU). Protokoll auf stderr:
[::1]:50312 GET /a.txt HTTP/1.1 200.
ersetzt: python -m http.server, busybox httpd, python3 -m http.server, httpd
Status: fertig (Mac)
ip interface teilweise
Netzschnittstellen anzeigen, ein- und ausschalten, Adressen setzen
ip [-s -4 -6 -n] [NAME] [up|down|add ADRESSE/LÄNGE|del ADRESSE/LÄNGE]
statt ifconfig ipconfig networksetup
mehr
- -s
- Zähler (Bytes, Pakete, Fehler) aller Schnittstellen
- -4
- nur IPv4-Adressen
- -6
- nur IPv6-Adressen
- -n
- nur zeigen, was eingestellt würde
mit der Fehlermeldung ohne Rechte getestet; Brücken, VLANs, Tunnel, Umbenennen fehlen.
ersetzt: ip addr/link, ifconfig, networksetup, ipconfig, netsh interface, ip, ip link set, ifup, ifdown, nmcli, ifconfig up/down, netsh interface set interface, ifup/ifdown, bridge, brctl, ifconfig bridge, netsh bridge, ip link add type vlan, vconfig, ifconfig vla
Status: teilweise
ipc ipcalc fertig
IP-Netze berechnen (IPv4 und IPv6): Netz, Maske, Bereich, Art, Teilnetze
ipc ADRESSE[/LÄNGE] [MASKE] | ipc -s LÄNGE NETZ | ipc -c NETZ ADRESSE…
statt ipcalc sipcalc
mehr
- -s
- Netz in Teilnetze der angegebenen Länge teilen
- -c
- prüfen, ob Adressen im Netz liegen (Rückgabe 1, wenn nicht)
IPv4 und IPv6 gleichwertig; Adressen mit Bereich (fe80::1%en0) werden verstanden. /31 und /32 zählen alle
Adressen als Rechner (RFC 3021). Reines C über net.c (siehe docs/fabrik/fabrik-netz.md).
ersetzt: ipcalc
Status: fertig (Mac)
isv inetd fertig
für jede TCP-Verbindung ein Programm starten (IPv4 und IPv6)
isv [-v] [-b ADRESSE] [-c ANZAHL] [-n VERBINDUNGEN] PORT BEFEHL [ARGUMENT…]
statt inetd xinetd tcpsvd
mehr
- -b
- nur auf dieser Adresse lauschen (IPv4, IPv6, ::1]); ohne: IPv6 und IPv4 zugleich
- -c
- höchstens so viele Programme gleichzeitig (Standard 20)
- -n
- nach so vielen Verbindungen aufhören
- -v
- jede Verbindung melden
Lauscht auf PORT (ohne -b auf IPv6 und IPv4 zugleich) und startet für jede Verbindung BEFEHL mit der Verbindung als
Standardein- und -ausgabe. Wie bei tcpsvd/ucspi-tcp stehen PROTO=TCP, TCPREMOTEIP, TCPREMOTEPORT,
TCPLOCALIP, TCPLOCALPORT in der Umgebung (IPv6 ohne Klammern, z. B. ::1).
ersetzt: inetd, xinetd, launchd, socat, tcpsvd, udpsvd
Status: fertig (Mac)
kg keygen teilweise
SSH-Schlüssel (Ed25519) erzeugen, anzeigen, vergleichen
kg gen [-f] [-c KOMMENTAR] DATEI | pub DATEI | fp DATEI... | copy PUB AUTHORIZED_KEYS
statt ssh-keygen ssh-copy-id
mehr
- -f
- vorhandene Schlüsseldatei überschreiben (gen)
- -c
- Kommentar im Schlüssel (gen)
Ersetzt ssh-keygen, ssh-agent, ssh-add, ssh-copy-id (soweit unten genannt).
ersetzt: ssh-keygen, ssh-agent, ssh-add, ssh-copy-id
Status: teilweise – Ed25519 ohne Passphrase; Agent, ssh-add und Fernkopie ausgelassen
ma mail in Arbeit
Mail senden (SMTP, IPv4 und IPv6) und das eigene Postfach lesen
ma [-f POSTFACH] [NUMMER] | ma -s BETREFF [-r ABSENDER] [-H SERVER[:PORT]] [-W SEK] [-n] EMPFÄNGER…
statt mail mailx sendmail
mehr
- -s
- Betreff; Text kommt von der Standardeingabe
- -r
- Absender (Standard $USER@localhost)
- -H
- SMTP-Server (Standard localhost:25), auch ::1]:2525
- -f
- Postfach (mbox, Standard $MAIL oder /var/mail/$USER)
- -n
- nur zeigen, was gesendet würde
- -W
- Zeitgrenze in Sekunden (Standard 30)
mit eigenem SMTP-Empfänger über 127.0.0.1 und ::1); STARTTLS/SMTPS und AUTH fehlen (brauchen TLS)
ersetzt: mail, mailx, sendmail
Status: in Arbeit
mdn mdns fertig
Dienste und Rechnernamen im lokalen Netz per mDNS finden (IPv4 und IPv6)
mdn [-r -v -4 -6] [-t SEK] [-i SCHNITTSTELLE] [-s SERVER] [DIENST|NAME.local]
statt avahi-browse avahi-resolve dns-sd
mehr
- -r
- Name.local in Adressen auflösen
- -v
- auch TXT-Angaben der Dienste zeigen
- -t
- so lange auf Antworten warten (Standard 2 s)
- -i
- nur über diese Schnittstelle (IPv6)
- -s
- einen Rechner direkt per Unicast fragen (auch ::1]:5353)
- -4
- nur IPv4 (224.0.0.251)
- -6
- nur IPv6 (ff02::fb)
eigenen Heimnetz (IPv4 und IPv6). Eigene Dienste anbieten (avahi-publish) fehlt.
ersetzt: avahi-browse, zcip, dns-sd
Status: fertig (Mac)
nb neighbors teilweise
Nachbarn im lokalen Netz zeigen (IP-Adresse, MAC, Schnittstelle)
nb [-q -v -4 -6] [ADRESSE]
statt arp ndp
mehr
- -q
- still, nur Rückgabewert (0 = bekannt)
- -v
- ausführlich: Zustand, auch unvollständige Einträge
- -4
- nur IPv4 (ARP)
- -6
- nur IPv6 (NDP)
Zeigt die Nachbartabelle (IPv4 ARP und IPv6 NDP) in einer Zeile je Nachbar: ADRESSE<Tab>MAC<Tab>SCHNITTSTELLE.
Ersetzt ip neigh, arp und ndp (nur lesen).
ersetzt: ip neigh, arp, ndp, arping
Status: teilweise
nbd nbd teilweise
Datei als Blockgerät übers Netz anbieten, lesen und beschreiben (NBD, IPv4 und IPv6)
nbd serve [-r -v] [-b ADRESSE] [-p PORT] [-n NAME] DATEI | nbd info|get|put RECHNER[:PORT] …
statt nbd-server nbd-client
mehr
- -r
- nur lesen anbieten
- -b
- nur auf dieser Adresse lauschen (IPv4, IPv6, ::1]); ohne: IPv6 und IPv4 zugleich
- -p
- Port (Standard 10809, 0 = frei wählen)
- -n
- Exportname (Standard leer)
- -o
- get: in diese Datei statt Standardausgabe
- -v
- Verbindungen melden
als echtes Blockgerät einhängen fehlt (braucht den nullos-Kernel), gegen fremde NBD-Programme nicht getestet
ersetzt: nbd-client, nbd-server, ggate
Status: teilweise
nc netcat fertig
rohe TCP- und UDP-Verbindungen: senden, empfangen, Ports prüfen
nc [-l -k -u -z -v -4 -6] [-w SEK] [RECHNER] PORT...
statt ncat netcat telnet socat
mehr
- -l
- auf eine Verbindung warten (Server)
- -k
- mit -l: danach weitere Verbindungen annehmen
- -u
- UDP statt TCP
- -z
- nur prüfen, welche Ports offen sind (auch Bereiche 20-30)
- -w
- Zeitgrenze in Sekunden (Verbindungsaufbau und Stille)
- -v
- Verbindungen melden
- -4
- nur IPv4
- -6
- nur IPv6
Verbindet Standardein- und -ausgabe mit einer TCP- oder UDP-Verbindung.
ersetzt: nc, ncat, socat, netcat, telnet
Status: fertig (Mac)
net network teilweise
Netzwerk-Profile verwalten und Netzstatus zeigen
net [status|list|show NAME|check NAME|set NAME SCHLÜSSEL WERT...|del NAME|up NAME|down NAME] [-v -q -n]
statt nmcli networkctl netplan networksetup
mehr
- -v
- ausführlich (zeigt auch das WLAN-Passwort, Zähler)
- -q
- still (nur Rückgabewert)
- -n
- nur zeigen, was passieren würde (up/down)
Ersetzt nmcli, networkctl, netplan, networksetup, netsh. Einfache Netzprofile und Netzstatus.
ersetzt: nmcli, networkctl, netplan, networksetup, scutil, netsh, netcfg, ifconfig, rc.conf, env http_proxy, networksetup -setwebproxy, netsh winhttp set proxy, net, scselect
Status: teilweise
nfs nfsinfo fertig
NFS-Server abfragen: Exporte, Clients und Einhängepunkte (MOUNT-Protokoll)
nfs [-e | -a | -d] [-p PORT] [-m PORT] [-w SEK] RECHNER | nfs -s | -S
statt showmount nfsstat
mehr
- -e
- Exportliste zeigen (Standard)
- -a
- Clients und Ordner (Rechner:Ordner) zeigen
- -d
- nur Ordner zeigen, die Clients eingehängt haben
- -s
- Kernel-Zähler des NFS-Clients zeigen (nfsstat -c)
- -S
- Einstellungen und Zähler des NFS-Servers im Kernel (nfsstat -s)
- -p
- Portmapper-Port (Standard 111)
- -m
- MOUNT-Port direkt angeben (ohne Portmapper)
- -w
- Zeitgrenze in Sekunden (Standard 5)
nfs RECHNER zeigt die Exportliste eines NFS-Servers (wie showmount -e), nfs -a RECHNER die Clients mit ihren
Ordnern (showmount -a), nfs -d RECHNER nur die eingehängten Ordner (showmount -d).
ersetzt: showmount, nfsstat, nfsadmin
Status: fertig (Mac)
pc pcap fertig
Mitschnitte (pcap/pcapng) lesen, filtern, schreiben, zeilenweise entschlüsseln
pc [-qvexts] [-c N] [-i SCHNITTSTELLE] [-r DATEI] [-w DATEI] [FILTER...]
statt tcpdump tshark pktmon
mehr
- -r
- Mitschnitt aus DATEI lesen (pcap oder pcapng, - = Standardeingabe)
- -w
- passende Pakete in DATEI schreiben (.pcapng = pcapng, sonst pcap)
- -c
- nach N passenden Paketen aufhören
- -i
- Live-Mitschnitt auf SCHNITTSTELLE (nur nullos)
- -q
- keine Paketzeilen (nützlich mit -w oder -s)
- -v
- ausführlicher (TTL, Kennung, Fragmente)
- -e
- Ethernet-Adressen mit ausgeben
- -x
- Paketinhalt als Hexauszug
- -t
- absolute Zeit (UTC) statt Zeit seit dem ersten Paket
- -s
- am Ende Zusammenfassung nach Protokoll
Ersetzt tcpdump, tshark, pktmon, netsh trace. Langname: pcap.
ersetzt: tcpdump, tshark, pktmon, netsh trace
Status: fertig (Mac)
pi ping fertig
prüfen, ob ein Rechner antwortet (ICMP-Echo)
pi [-c ANZAHL] [-i SEK] [-W SEK] [-w SEK] [-s BYTES] [-t TTL] [-4|-6] [-q] ZIEL
statt ping ping6
mehr
- -c
- Anzahl Anfragen (Standard 4, 0 = bis Strg-C)
- -i
- Abstand in Sekunden (Standard 1)
- -W
- Wartezeit auf die letzte Antwort (Standard 2)
- -w
- nach so vielen Sekunden aufhören
- -s
- Datenbytes je Anfrage (Standard 56)
- -t
- TTL bzw. Hop-Limit
- -4
- nur IPv4
- -6
- nur IPv6
- -q
- nur Zusammenfassung
pi ZIEL schickt vier ICMP-Echo-Anfragen und zeigt Antworten, Verlust und Laufzeiten. IPv4 und IPv6 im selben
Programm (die Adresse entscheidet, -4/-6 erzwingt eine Familie bei Namen).
ersetzt: ping, ping6
Status: fertig (Mac)
ppp ppp teilweise
PPP über eine serielle Leitung aushandeln (LCP, IPCP für IPv4, IPV6CP für IPv6)
ppp [-1 -v] [-a LOKAL:ENTFERNT] [-d DNS] [-W SEK] [GERÄT]
statt pppd
mehr
- -1
- nach der Aushandlung sauber auflegen
- -a
- eigene IPv4-Adresse und die für die Gegenseite (Server-Rolle)
- -d
- DNS-Server für die Gegenseite
- -W
- Zeitgrenze für die Aushandlung in Sekunden (Standard 30)
- -v
- jedes Steuerpaket zeigen
IP-Pakete nur gezählt, keine Anmeldung (PAP/CHAP), nicht gegen fremde PPP-Gegenstellen oder echte Modems getestet
ersetzt: pppd, rasdial, ppp, chat
Status: teilweise – Aushandlung fertig (Mac, zwei ppp gegeneinander über FIFOs); ohne Netzschnittstelle werden
ra routeradv teilweise
IPv6-Router: gelernte Router und Präfixe zeigen, Router-Solicitation senden
ra [-r | -p] [SCHNITTSTELLE] | ra -s [-W SEK] SCHNITTSTELLE
statt rdisc6 rtsol rtadvd
mehr
- -r
- nur Router
- -p
- nur Präfixe
- -s
- Router-Solicitation an ff02::2 senden und Antworten zeigen (Rechte nötig auf dem Mac)
- -W
- mit -s: so lange auf Antworten warten (Standard 3 s)
Router-Solicitation (-s) umgesetzt, auf dem Mac aber nur mit Rechten möglich und daher nur der Fehlerfall
getestet; selbst Router-Ankündigungen senden (radvd) fehlt.
ersetzt: radvd, rdisc6, netsh interface ipv6, rtadvd, rtsol
Status: teilweise – Anzeigen der gelernten Router und Präfixe fertig (Mac, abgeglichen mit ndp -r/ndp -p);
rdp remotedesktop teilweise
Bildschirm fernsteuern (VNC/RFB): Server teilen, Bild holen
rdp serve [-1] [-p PORT] [-b ADRESSE] [-s BxH] [-f BILD.ppm] [-a DATEI]
statt vncviewer
mehr
- -1
- serve: nur einen Client bedienen, dann beenden
- -p
- serve: Port (Vorgabe 5900, 0 = frei wählen)
- -b
- serve: Adresse, IPv4 oder IPv6 (Vorgabe: 127.0.0.1 und ::1; "::" = alle)
- -s
- serve: Größe des Testbilds (Vorgabe 64x48)
- -f
- serve: Bild aus PPM-Datei teilen (wird bei Änderung neu gelesen)
- -a
- serve: Datei mit Anmeldedaten (benutzer:passwort je Zeile, plus ggf. eine Zeile VNC-Passwort; chmod 600)
- -u
- get: Benutzername (oder RDP_USER); Passwort aus RDP_PASS oder per Nachfrage
- -a
- get: Vorschau als Text ausgeben
- -d
- get: Farbtiefe anfordern (16 oder 32)
- -k
- get: Taste (X11-Keysym) drücken
- -c
- get: Mausklick bei X,Y
Ersetzt vncviewer, xfreerdp (Teil), mstsc (Teil). Spricht RFB 3.8 (VNC), Kodierung Raw, Farbtiefe 32 oder 16 Bit.
ersetzt: xfreerdp, vncviewer, open vnc://, Bildschirmfreigabe, mstsc, Remmina, quickassist
Status: teilweise
res resolver fertig
Namensauflösung: Einstellungen und Zwischenspeicher zeigen, abfragen, leeren
res [-a -q -v -n] [show | cache | get NAME [TYP] | put NAME TYP TTL WERT | flush [NAME] | purge | check]
statt resolvectl dscacheutil
mehr
- -a
- cache: auch abgelaufene zeigen; put: anhängen statt ersetzen
- -q
- still
- -v
- put: gespeicherten Eintrag zeigen
- -n
- nur zeigen, was passieren würde (flush, purge, put)
Ersetzt resolvectl, dscacheutil, scutil --dns, ipconfig /flushdns / /displaydns, resolvconf.
ersetzt: resolvectl, dscacheutil, scutil --dns, ipconfig /flushdns, /displaydns, resolvconf, local_unbound
Status: fertig (Mac)
rpc rpcinfo fertig
RPC-Dienste eines Rechners abfragen (Portmapper) und anpingen
rpc [-q] [dump|port|ping] HOST[:PORT]|[IPV6]:PORT [PROGRAMM VERSION]
statt rpcinfo rpcping
mehr
- -q
- still (ping: nur Exit-Code)
- rpc HOST[:PORT] (oder rpc dump …) listet alle beim rpcbind/Portmapper (Port 111) angemeldeten Dienste: Programm, Version, Netz-ID (tcp, tcp6, udp, udp6,
local), Port, Name, Adresse (aus der Universaladresse; bei Portmapper v2 „-“).
- rpc port HOST PROGRAMM VERSION gibt den TCP-Port eines Dienstes aus (0 = nicht registriert).
- rpc ping HOST PROGRAMM VERSION fragt den Port ab und ruft die NULL-Prozedur des Dienstes auf (-q: nur Exit-Code).
ersetzt: rpcinfo, rpcping
Status: fertig (Mac)
rsy rsync fertig
Ordner abgleichen: nur Geändertes übertragen (Delta-Verfahren)
rsy [-r -c -n -v -q -u -W] [--delete] [--exclude=MUSTER] QUELLE... ZIEL
statt rsync robocopy
mehr
- -r
- rekursiv (Ordner); -a ist dasselbe
- -c
- Inhalt über Prüfsumme vergleichen statt Größe + Zeit
- -n
- nur zeigen, was passieren würde
- -v
- jede Änderung und eine Zusammenfassung anzeigen
- -q
- still
- -u
- neuere Dateien im Ziel nicht überschreiben
- -W
- ganze Dateien übertragen, kein Delta
- --delete
- im Ziel löschen, was in der Quelle fehlt
- --exclude=MUSTER
- Namen mit * und ? auslassen
- --block-size=N
- Blockgröße fürs Delta (Byte)
rsy [-r -c -n -v -q -u -W] [--delete] [--exclude=MUSTER] QUELLE... ZIEL
ersetzt: rsync, robocopy, openrsync
Status: fertig (Mac)
rt route teilweise
Routen anzeigen, nachschlagen, hinzufügen und entfernen
rt [-4 -6 -n] [get ZIEL | add ZIEL[/LÄNGE] via GATEWAY | del ZIEL[/LÄNGE]]
statt route
mehr
- -4
- nur IPv4
- -6
- nur IPv6
- -n
- nur zeigen, was geändert würde
Fehlermeldung ohne Rechte getestet.
ersetzt: ip route, route, netstat -rn, route print, netstat -r
Status: teilweise
scn portscan fertig
offene TCP-Ports eines Rechners finden (IPv4 und IPv6)
scn [-a -v -4 -6] [-p PORTS] [-W MS] RECHNER
statt nmap pscan
mehr
- -p
- Ports, z. B. 22,80,8000-8100 (Standard: 40 bekannte Dienste)
- -a
- alle Ports 1–65535
- -v
- auch geschlossene Ports zeigen
- -W
- Wartezeit je Port in Millisekunden (Standard 500)
- -4
- nur IPv4
- -6
- nur IPv6
Prüft mit normalen TCP-Verbindungen (kein Rohpaket-Trick, keine Rechte nötig), einen Port nach dem anderen, und zeigt
offene Ports mit Dienstnamen. Rückgabe 0, wenn mindestens ein Port offen ist, sonst 1.
ersetzt: nmap, pscan
Status: fertig (Mac)
scp securecopy fertig
Dateien sicher übertragen (SFTP über SSH) und entfernte Ordner bearbeiten
scp [-r -v -q -n] [-P PORT -i SCHLÜSSEL -K HOSTDATEI] QUELLE... ZIEL
statt sftp securecopy
mehr
- -r
- Ordner mitsamt Inhalt
- -v
- jede Übertragung anzeigen
- -q
- still (keine Meldung über neue Hostschlüssel)
- -n
- nur zeigen, was übertragen würde
- -l
- entfernten Ordner auflisten
- -s
- sftp-Sitzung (Befehle von stdin: ls cd pwd get put mkdir rm rmdir rename chmod lcd lpwd quit)
- -P
- Port (Standard 22)
- -i
- Ed25519-Schlüsseldatei (Standard ~/.ssh/id_ed25519)
- -K
- Datei für bekannte Hostschlüssel (Standard ~/.nullos/known_hosts)
Entfernte Orte schreibt man [benutzer@]host:pfad. Hochladen (lokal → entfernt) und Herunterladen
(entfernt → lokal, alle Quellen vom selben Host) wie bei c: Quelle → Ziel, -r für Ordner, -n Probelauf.
In der Sitzung (-s): ls cd pwd get [-r] put [-r] mkdir rm [-r] rmdir rename chmod lcd lpwd quit.
ersetzt: scp, sftp
Status: fertig (Mac)
sk sockets fertig
offene TCP- und UDP-Sockets mit Programm anzeigen
sk [-t -u -l -s -4 -6] [PORT|PROGRAMM]
statt ss netstat sockstat lsof
mehr
- -t
- nur TCP
- -u
- nur UDP
- -l
- nur lauschende (Server-)Sockets
- -s
- Zusammenfassung je Protokoll und Zustand
- -4
- nur IPv4
- -6
- nur IPv6
Zeigt offene TCP- und UDP-Sockets mit lokaler Adresse, Gegenstelle, Zustand und Programm (Name und Prozessnummer).
ersetzt: ss, netstat, lsof -i, sockstat, nstat, ip -s, ifstat, netstat -s, nettop, typeperf, systat
Status: fertig (Mac)
smb smb teilweise
Dateien auf SMB-Freigaben (Windows/Samba/NAS) auflisten, holen und senden
smb [-v -q -n -f] [-u BENUTZER] [-d DOMÄNE] [-P PORT] ls|get|put|md|rm|mv ... smb://[benutzer@]host/freigabe/pfad
statt smbutil nmblookup
mehr
- -u
- Benutzername (sonst aus der Adresse oder $USER)
- -d
- Domäne/Arbeitsgruppe (Standard leer = lokales Konto)
- -P
- Port (Standard 445)
- -f
- vorhandene Ziele überschreiben
- -n
- nur zeigen, was passieren würde (keine Verbindung)
- -v
- ausführlich
- -q
- still
Das Passwort kommt aus $SMB_PASS (oder smb://benutzer:passwort@…, sichtbar in der Prozessliste – besser vermeiden).
Benutzer: Adresse, -u oder $USER; -d Domäne, -P Port (445).
get/put überschreiben nie ohne -f; -n zeigt nur, was passieren würde (ohne Verbindung).
Ausgabe von ls: d|f Größe Datum Name (Ordner mit /).
ersetzt: nmblookup, smbclient, smbutil, nbtstat, net use, net view, net share
Status: teilweise
ssd sshserver fertig
SSH-Server: Anmeldung mit Schlüssel, Shell oder Befehl aus der Ferne
ssd [-1 -v -q] [-p PORT] [-l ADRESSE] [-k HOSTSCHLÜSSEL] [-a SCHLÜSSELLISTE] [-s SHELL] [-u BENUTZER] | ssd -T
statt sshd
mehr
- -p
- Port (Standard 22)
- -l
- Adresse zum Lauschen, IPv4 oder IPv6 (Standard: alle, IPv4 und IPv6)
- -k
- Hostschlüssel (Standard /etc/ssd/hostkey, wird angelegt, wenn er fehlt)
- -a
- erlaubte Schlüssel (Standard ~/.ssh/authorized_keys)
- -s
- Shell für Sitzungen und Befehle (Standard s)
- -u
- nur diesen Benutzernamen annehmen
- -1
- nur eine Verbindung bedienen, dann beenden
- -v
- ausführlich (zweimal: jedes Paket)
- -q
- still
- -T
- Selbsttest mit den offiziellen Krypto-Testvektoren
ssd ersetzt sshd. Man meldet sich mit einem Schlüssel an und bekommt unsere Shell s (mit Pseudo-Terminal)
oder lässt einen Befehl laufen (ssh gerät 'befehl'). Gedacht für das erste Kleingerät (ESP32-C5,
docs/esp32c5.md), das nur noch per SSH bedient wird.
ersetzt: sshd
Status: fertig (Mac)
ssh secureshell teilweise
sicher an einem anderen Rechner anmelden oder dort Befehle ausführen (SSH-2)
ssh [-v -t -T] [-p PORT] [-l NAME] [-i SCHLÜSSEL] [-k KNOWN_HOSTS] [-W SEK] [NAME@]RECHNER [BEFEHL…]
statt rsh rlogin rexec
mehr
- -p
- Port (Standard 22)
- -l
- Benutzername (Standard $USER)
- -i
- Schlüsseldatei (Standard ~/.ssh/id_ed25519)
- -k
- Datei der bekannten Rechner (Standard ~/.ssh/known_hosts)
- -t
- Terminal auf dem Server anfordern, auch mit Befehl
- -T
- kein Terminal anfordern
- -W
- Zeitgrenze in Sekunden für Aufbau und Antworten (Standard 30)
- -v
- Ablauf anzeigen
es fehlen weitere Verfahren, verschlüsselte Schlüsseldateien, Agent, Weiterleitungen und Neuverschlüsselung bei
sehr langen Sitzungen.
ersetzt: ssh, rsh, rexec, rlogin, winrs
Status: teilweise
tra traceroute fertig
Weg zu einem Rechner Sprung für Sprung zeigen, mit -l fortlaufend (wie mtr)
tra [-l] [-c ANZAHL] [-u] [-n] [-4|-6] [-m MAX] [-f ERSTER] [-q SONDEN] [-w SEK] [-i SEK] [-p PORT] [-s BYTES] ZIEL
statt traceroute tracepath mtr traceroute6 tracert pathping
mehr
- -l
- fortlaufend messen und Tabelle aktualisieren (mtr)
- -c
- Durchläufe im Modus -l (Standard: endlos am Terminal, sonst 10)
- -u
- UDP-Sonden statt ICMP-Echo
- -n
- keine Namen auflösen
- -4
- nur IPv4
- -6
- nur IPv6
- -m
- höchste TTL (Standard 30)
- -f
- erste TTL (Standard 1)
- -q
- Sonden je Sprung (Standard 3)
- -w
- Wartezeit je Sonde in Sekunden (Standard 2)
- -i
- Abstand der Durchläufe im Modus -l (Standard 1)
- -p
- erster UDP-Zielport (Standard 33434)
- -s
- Datenbytes je Sonde
tra ZIEL zeigt den Weg zum Ziel Sprung für Sprung (Router, Laufzeiten). tra -l ZIEL misst fortlaufend und zeigt
je Sprung Verlust und Laufzeiten wie mtr.
ersetzt: traceroute, tracepath, mtr, traceroute6, tracert, pathping
Status: fertig (Mac)
wg wireguard teilweise
WireGuard-Schlüssel erzeugen, Konfiguration prüfen, Tunnel-Handschlag im Userspace
wg genkey|genpsk|pubkey|selftest|show DATEI|run [-t SEK] [-s TEXT] DATEI
statt wg-quick wireguard.exe
mehr
- -t
- Wartezeit in Sekunden bei run (Standard 10)
- -s
- Text an das Gegenüber senden (macht diese Seite zum Initiator)
- -v
- mehr Ausgaben
wg (lang wireguard, Aliase wg-quick, wireguard.exe) ersetzt wg und wg-quick.
ersetzt: wg, wg-quick, wireguard.exe
Status: teilweise
wis whois fertig
Besitzer von Domänen, IP-Adressen und AS-Nummern abfragen
wis [-r -4 -6] [-h SERVER[:PORT]] [-p PORT] [-W SEK] FRAGE
statt whois
mehr
- -h
- Server (Standard whois.iana.org), auch ::1]:43
- -p
- Port (Standard 43)
- -r
- Verweisen nicht folgen
- -4
- nur IPv4
- -6
- nur IPv6
- -W
- Zeitgrenze in Sekunden (Standard 15)
Protokoll nach RFC 3912 (Frage + CRLF über TCP 43, Antwort bis Verbindungsende). Verweise („refer:“, „whois:“,
„Registrar WHOIS Server:“, „ReferralServer:“) werden bis zu dreimal verfolgt, Kreise erkannt; der Weg steht auf
stderr. Server als Name, IPv4, IPv6, [IPv6]:PORT oder NAME:PORT; Namen werden über A und AAAA aufgelöst und alle
Adressen der Reihe nach probiert.
ersetzt: whois
Status: fertig (Mac)
wl wlan teilweise
WLAN: Netzliste, Suchen, Verbinden, Status
wl [-q -v -n] [status|list|check|scan|connect|disconnect|add|del] [NAME]
statt iw nmcli wpa_cli
mehr
- -q
- still (nur Rückgabewert / nur Namen)
- -v
- ausführlich (Passwörter bleiben trotzdem verdeckt)
- -n
- Probelauf bei connect/add/del: nur zeigen
gibt es erst auf nullos (Treiber fehlt, siehe docs/esp32c5.md). Auf dem Mac nur lesender Status.
ersetzt: iw, iwconfig, iwlist, nmcli, wpa_cli, networksetup, wdutil, airport, netsh wlan, ifconfig wlan, wpa_supplicant
Status: teilweise