Accellence Technologies GmbH Garbsener Landstr. 10 D-30419 Hannover Hinweise zum Accellence TCP Tester (AccTcpTester.exe) ===================================================== Der TCP Tester von accellence bietet umfangreiche Möglichkeiten, um TCP/IP-Verbindungen zu prüfen. Start: ZIP-Archiv entpacken, gewünschte Platform (x86/x64) wählen und darin AccTcpTester.exe starten. Mit "Listen" wird Empfangsbereitschaft für eintreffende TCP/IP-Verbindungen hergestellt, mit "Connect" wird eine TCP/IP-Verbindung zur Gegenstelle aufgebaut. Somit kann geprüft werden, ob eine TCP/IP-Verbindung von A nach B auf einem bestimmten Port möglich ist. Die Eingabezeile für die IP-Adresse ist eine Combo-Box, in der die IPv4-Adressen aller auf diesem PC verfügbaren Netzwerkadapter zur Auswahl angeboten werden. "Listen" bezieht sich auf (bindet die Sockets an) die hier ausgewählte Netzwerkadresse. In das Texteingabefeld für die zu sendenden Kommandos (links neben "Send") kann man auch TABs als Trennzeichen eingeben. Mit {Shift}+{TAB} kann man wieder zu den anderen Eingabefeldern springen. Durch Eingabe eines gültigen Schlüssels können die Daten mit AES verschlüsselt/entschlüsselt werden. Unterstützte Eingabeformate zur Definition des binären Schlüsselcodes: 0xC0FFA2D7... hexadezimal 120, 72, 123, ... Bytes als uint8-Zahlenwerte UTF8:geheim!$_%.... Zeichenkette in UTF8 encodiert :... Zeichenkette mit anderem String-Encoding encodiert Base64:... Base64-codierte Binärdaten Als Initialisierungs-Vektor werden die ersten 16 Byte des SHA256-Hashcodes des Schlüssels verwendet Der AccTcpTester merkt sich alle eingegebenen Kommandos und bietet diese in einer Combo-Box zur Auswahl an. Diese Liste kann man mit den Schaltflächen links neben dem Texteingabefeld auch speichern und wieder laden. Damit kann man z.B. alle Kommandos, die für AMS_RCP benötigt werden, mit einem Klick aktivieren, ggf. bearbeiten und dann mit "Send" absenden. Die Kommandolisten haben die Dateiendung *.acctcpcmds und können auch z.B. mit Notepad bearbeitet werden. Mit folgenden Kommandozeilenparametern startet die Anwendung gleich mit den gewünschten Voreinstellungen: ip IP-Adresse port TCP-Port protocol z.B. "Echo", "LISA", "MasterMind", "HTTP", "AMS_RCP", ... commands Lädt die Kommandoliste mit dem angegebenen Namen encoding z.B. "UTF-8", "29001", ... zum Speichern in Dateien tcp_encoding z.B. "UTF-8", "29001", ... für die Datenübertragung escaping falls true, werden Escape-Squenzen gemäß C-Syntax interpretiert und angezeigt, um auch Steuerzeichen zu ermöglichen hexdump falls true, werden gesendete und empfangene Daten als hexadezimale Zeichenkette angezeigt data_to_send Daten, die beim Aufbau jeder neuen Verbindung gesendet werden sollen mode z.B. "listen", "autolisten", "multilisten", "connect", "scan" - Im mode "connect" wird die mit ip und port konfigurierte Verbindung nach dem Start automatisch aufgebaut. - Im mode "autolisten" (Checkbox "Auto") wird nach dem Beenden einer Verbindung automatisch wieder der Listen-Mode reaktiviert. - Im mode "multilisten" (Checkbox "Multi") können mehrere Verbindungen parallel angenommen werden. Dabei wird für neu angenommene Verbindungen jeweils das Protokoll und die Codetabelle verwendet, die im Hauptfenster gewählt wurde. Für eigene Protokollimplementierungen können für folgende Ereignisse (Events) Scripts hinterlegt werden: !connection_accepted Eine eingehende Verbindung wurde nach TCP-Listen angenommen --> nun können Daten gesendet werden !connection_connected Eine ausgehende Verbindung wurde von der Gegenseite angenommen --> nun können Daten gesendet werden !connection_established Verbindung wurde aufgebaut; wird sowohl nach !connection_accepted als auch nach !connection_connected aufgerufen !data_received Es sind Daten empfangen worden, die nun ausgewertet werden können !timer_every_second Wird jede Sekunde aufgerufen, solange die Verbindung besteht !connection_closed Die TCP/IP-Verbindung wurde beendet Beschreibung der Scriptsprache --> www.ebues.de/doc/AccParser.pdf Variablen für Protokoll-Implementierungen (Zugriffsmöglichkeiten: R=Read, W=Write): machine_name R Name des PCs, auf dem AccTcpTester läuft protocol RW Auswahl des aktiven Protokolls anhand seines Namens in der Auswahlliste time_utc R Stellenwerttreue UTC-Zeit im Format YYYYMMDDhhmmssmil textbox_send RW Text, der im Eingabefeld für das Senden steht tcp_encoding RW z.B. "UTF-8", "29001", ... tcp_send_data W Sendet den angebenenen Text mit dem gewählen Encoding an die Gegenstelle tcp_send_hex W Sendet hexadezimal angegebene Daten im Binärformat tcp_send_file W Sendet den Inhalt der angegebenen Datei new_status RW Ein Statustext, der im Logbuch des AccTcpTesters angezeigt wird tcp_disconnect W Beendet die Verbindung, falls true window_close W Schließt das Anwendungsfenster, das zu dieser Verbindung gehört check_file W Prüft, ob die angegebene Datei eingelesen werden kann file_len R Anzahl Bytes in der geprüften Datei; -1 falls Datei nicht geladen werden konnte filename RW Gibt den Dateinamen für nachfolgende Dateioperationen vor file_write RW Schreibt den Text mit dem gewählten Encoding in die Datei file_append RW Hängt den Text mit dem gewählten Encoding an die Datei an Folgende Variablen sind nur im Script !data_received und den daraus aufgerufenen Unterprogrammen verfügbar: tcp_received_data R enthält die empfangenen Daten als Text mit dem gewählten Encoding tcp_received_hex R enthält die empfangenen Daten binär als Hexstring Wählen Sie das gewünschte Protokoll aus der Combo-Box, oder geben Sie dort einen neuen Protokollnamen ein, um ein neues Protokoll anzulegen. Mit dem Button rechts neben der Combobox können Sie die Scripte für dieses Protokoll hinterlegen. Mit dem Button rechts daneben kann der aktuelle Zustand aller Variablen im AccTcpTester angezeigt und fortlaufend überwacht werden. Mit dem Protokoll "HTTP" wird der AccTcpTester zu einem Mini-Web-Server und liefert die Dateien, die sich im Unterverzeichnis www befinden, an Browser aus. Dazu einen für Browser geeigneten Port wählen (z.B. 8080) und auf Listen + Multi (für mehrere parallele Verbindungen) klicken. Download der aktuellen Version unter www.ebues.de/tools oder www.ipracc.com/tools 24.01.2024 Dipl.-Ing. Hardo Naumann --- eof ---