Zum Inhalt springen

Was ist Signal Lab ​

Signal Lab ist ein Testlabor für OSC und Netzwerkprotokolle. Es sendet die Nachrichten, die Ihre Geräte und Dienste sprechen, zeigt Ihnen, was zurückkommt, vertritt das Gerät oder die API, die es noch nicht gibt, verschlechtert absichtlich das Netzwerk dazwischen und macht aus all dem Experimente, die Sie erneut ausführen können — aus der App, einem Skript oder einer CI-Pipeline.

Es wurde gebaut, um eine Installation in Betrieb zu nehmen, bevor es die Installation gibt: Showcontroller, Medienserver, Sensoren und Cloud-API lassen sich jeweils gegen einen Stellvertreter testen, auf einem einzigen Laptop, lange bevor sie sich vor Ort begegnen.

Für wen es gedacht ist ​

  • Wer Showsteuerung, Installationen und vernetzte Geräte in Betrieb nimmt: Licht- und Medienserver, Controller, Sensoren, Projektoren, alles, was OSC, UDP, TCP oder MQTT spricht.
  • Wer APIs und Dienste testet: HTTP- und WebSocket-Endpunkte, ihre Authentifizierung, ihr Verhalten unter Last und wenn eine Abhängigkeit ausfällt.
  • Wer beides automatisiert: Dieselben Experimente laufen ohne Fenster in einer Pipeline, auf einem Laborserver neben der Technik oder gesteuert von einem KI-Assistenten.

Was Sie damit tun können ​

Verkehr senden und beobachten ​

Jedes Protokoll hat eine eigene Ansicht:

ProtokollWas Sie tun könnenSeite
OSCNachrichten mit typisierten Argumenten senden, einen Port überwachen, eine Wellenform auf einen Endpunkt gebenOSC
Rohes UDP und TCPText oder Bytes in Experimenten und aus der Bibliothek senden, Geräte emulieren, die sie sprechenUDP und TCP
HTTPEine Anfrage mit ihrer vollständigen Antwort, Basic-, Bearer- oder Digest-Authentifizierung, ein Cookie-Speicher, ein Last-BurstHTTP
WebSocketMit den Headern und Subprotokollen verbinden, die ein Dienst erwartet, Text oder Bytes senden, jede Nachricht lesenWebSocket
MQTT 3.1.1Mit einem Broker verbinden, jedes Topic beobachten, das er hält, mit QoS 0, 1 oder 2 veröffentlichen, einen Retained-Wert löschenMQTT
Broadcast und MulticastAn eine Liste, eine Broadcast-Adresse, eine Multicast-Gruppe oder jeden Host eines Subnetzes senden; mithören, wer antwortetBroadcast und Erkennung

Jeden Frame sehen ​

Der Inspektor zeichnet jeden Frame auf, den die Werkzeuge senden und empfangen, in einer Zeitleiste: dekodiert, mit seinen Bytes, filterbar und exportierbar. Ein Frame, den er erfasst hat, kann zu einem Signal werden, das ihn Byte für Byte erneut sendet.

Behalten, was funktioniert ​

Eine Nachricht, die funktioniert hat, kommt in die Signalbibliothek: mit Namen, in Ordnern abgelegt, mit einer Notiz, was sie bewirken soll. Sie senden sie erneut aus ihrer Ansicht, aus der Bibliothek oder von überall mit Ctrl+K.

Die Gegenseite übernehmen ​

Emulatoren antworten als die API, das Gerät oder der Dienst, mit dem Ihr System spricht: eine HTTP-API mit Routen und Antworten, ein OSC-, UDP- oder TCP-Gerät mit Regeln, ein MQTT-Broker. Sie können langsam antworten, in einer festgelegten Abfolge scheitern, fehlerhafte Bodys senden oder nach Zeitplan ausfallen — so testen Sie, wie Ihr System damit zurechtkommt, bevor es das Original gibt.

Das Netzwerk absichtlich stören ​

Ein Störungs-Relais sitzt zwischen einem Client und seinem Ziel und fügt UDP Latenz, Jitter, Verlust, Duplikate, Umordnung oder eine Bandbreitengrenze hinzu, oder es verzögert und drosselt TCP-Verbindungen, setzt sie zurück oder lässt sie hängen. Jede Entscheidung folgt einem Startwert, sodass derselbe Verkehr zweimal dasselbe Schicksal erleidet.

Einen Test daraus machen ​

Ein Experiment ist ein Ablauf von Schritten, den Sie auf einer Arbeitsfläche zeichnen: eine Anfrage senden, auf die Antwort warten, sie prüfen, einen Wert extrahieren, verzweigen, in Schleifen wiederholen, Zweige parallel ausführen, für den Durchlauf einen Emulator oder ein Störungs-Relais starten. Jeder Durchlauf wird Schritt für Schritt protokolliert und als Bericht gespeichert, den Sie mit einem früheren vergleichen können.

Einen Dienst unter Last setzen ​

Die HTTP-Anfrage eines Experiments kann unter Last laufen — eine konstante Rate, eine Rampe, Stufen, eine Spitze oder zufällige Ankünfte —, gemessen und an Schwellenwerten beurteilt. Die Ansicht HTTP bietet einen schnellen Last-Burst, und Sturm erzeugt rohe UDP- oder TCP-Last gegen Ihre eigenen Server und Leitungen.

Finden, was da draußen ist ​

Broadcast und Erkennung findet Geräte, die auf eine Suchanfrage antworten, und der Scanner zeigt, welche TCP-Ports eines Hosts offen sind.

Automatisieren ​

Die Kommandozeile signallab führt Experimente ohne Fenster aus und endet mit einem Code, den eine Pipeline versteht; sie schreibt JUnit-Berichte für die CI. Mit signallab mcp kann ein KI-Assistent Experimente lesen, schreiben und ausführen. Ein Server bietet dasselbe über seine HTTP-API.

Zwei Arten, es zu betreiben ​

Desktop-AppServer, im Browser
Läuft unterWindows 10 und 11 (x64), Linux (x86_64)Linux als Docker-Image (amd64 und arm64) oder aus dem Quellcode gebaut
Sie nutzen esin einem eigenen Fensterin Chrome, Edge oder Firefox, von jedem Rechner, der den Server erreicht
Der Verkehr geht aus vondiesem Computerdem Server
Mitgeliefertdie Kommandozeile signallabdie Kommandozeile signallab, im Image
Updatesvon selbst, wenn Sie es sagenmit seinem Image

Beide sind dieselbe Oberfläche auf derselben Engine: Jede Ansicht, der Inspektor, Experimente und Berichte funktionieren gleich. Ein Server ist die richtige Wahl, wenn die Technik in einem Netzwerk steht, das Ihr eigener Computer nicht erreicht — ein Rack-PC oder ein kleiner Linux-Rechner daneben, bedient von einem Laptop oder einer Pipeline. Siehe Installieren und aktualisieren und Der Server; was sich zwischen beiden unterscheidet, steht unter Konzepte.

Wie es aufgebaut ist ​

  • Ansichten sind Werkzeuge für Arbeit, die Sie jetzt von Hand erledigen: dies senden, dort empfangen, jenen Emulator starten. Die Seitenleiste listet sie auf; jede behält, was Sie eingegeben und was sie empfangen hat, während Sie zu einer anderen wechseln. Siehe Das Fenster.
  • Experimente sind Abläufe, die Sie einmal bauen und immer wieder ausführen, jedes Mal auf dieselbe Weise, mit einem Bericht für jeden Durchlauf.
  • Bibliotheken bewahren auf, was Sie erstellt haben: Signale in der Signalbibliothek, Emulatoren in der Emulator-Bibliothek. Experimente nutzen beide.
  • Jobs sind die lang laufende Arbeit — ein Monitor, ein Emulator, ein Relais, ein Durchlauf —, aufgelistet am unteren Rand des Fensters, wo Sie einen oder alle stoppen.

Konzepte erklärt jedes davon ausführlicher.

Sicher von Haus aus ​

  • Signal Lab sendet nichts, bevor Sie eine Schaltfläche drücken, und nur dorthin, wohin Sie es angeben. Die einzige Ausnahme ist die Update-Prüfung der Desktop-App, einmal täglich, die Sie abschalten können (siehe Updates).
  • Die Beispielsignale, die Beispiel-Emulatoren und die Experimentvorlagen zeigen alle auf 127.0.0.1, diesen Computer. Das Netzwerk zu erreichen ist eine Entscheidung, die Sie treffen, indem Sie eine Adresse eingeben.
  • Ein Server, der ohne Zugriffstoken gestartet wird, empfängt nur auf 127.0.0.1 und lehnt jede andere Adresse ab.
  • Die Firewall ändert sich nur, wenn Sie es per Klick zulassen.

Verantwortungsvoller Einsatz ​

Echter Verkehr an echte Hosts

Sturm, der Scanner und Broadcast senden echten Verkehr an echte Hosts, und ein Broadcast oder ein Subnetz-Sweep erreicht jedes Gerät im Segment, nicht nur das, an das Sie gedacht haben. Richten Sie sie nur auf Systeme, die Ihnen gehören oder die Sie testen dürfen, und prüfen Sie zuerst, in welchem Netzwerk Sie sich befinden. Hohe Raten können Leitungen auslasten und Angriffserkennungssysteme auslösen.

Die Engine hat Leitplanken: Ein Sweep erreicht höchstens 1024 Hosts, und ein Beacon sendet höchstens 50.000 Pakete pro Sekunde über alle seine Ziele hinweg. Es sind Leitplanken, keine Erlaubnis.

Sprachen ​

Die Oberfläche, ihre Tooltips und Fehlermeldungen, die Kommandozeile signallab, die Anmeldeseite des Servers und das Windows-Setup sprechen 11 Sprachen: English (Englisch), Русский (Russisch), Español (Spanisch), Français (Französisch), Deutsch, Português (brasilianisches Portugiesisch), 中文 (vereinfachtes Chinesisch), 日本語 (Japanisch), 한국어 (Koreanisch), हिन्दी (Hindi) und العربية (Arabisch, von rechts nach links). Sie wechseln sie live in der Kopfzeile; siehe Das Fenster.

Nächste Schritte ​

  1. Signal Lab installieren.
  2. Sich im Fenster zurechtfinden.
  3. Die ersten Schritte auf diesem Computer gehen.
  4. Die Konzepte dahinter lesen.