Project name: virtual network laboratory author: Pavel Nemec, 2005 obsah ================================ -TerminalApplet - upravy - mozne dalsi upravy - spusteni a nastaveni -Server -upravy -spusteni a nastaveni - Databaze a webova aplikace - instalace - prvni spusteni ==================================================== TerminalApplet ==================================================== Terminal applet doplnen o funkce ================================ - vyber pisem terminalu ( settings -> text style) - omezena velikost textu v okne terminalu (main_texta) na 400 radku textu ostatni stavajici funkce terminalu: - kontrola zadavanych prikazu po stisku // povoleny prikaz definovan jako < prikaz pripustny_parametr>, napr. "password cisco" Mozne upravy v TerminalApplet.java ================================== ve funkci update je kazdy prichozi retezec kontrolovan znak po znaku, zda neobsahuje ridici sekvence 0x08 - posun vlevo, 0x07 - nedela nic (zatlucu jej, vraci se napr. kdyz dosahnu konce radku, nebo promptu) nebo znak ridiciho protokolu, kod znaku >= 200 Protocol.DISCONNECTED_AFTER_5_MIN (0xCD) - 205 Protocol.DISCONNECTED_AFTER_10_MIN (0xD2) - 210 Protocol.DISCONNECTED_AFTER_1_MIN (0xC9) - 201 Protocol.DISCONNECT_NOACTIVITY = 200; Protocol.TIME_EXCEEDED = 222; Posledne vyse zminene kody protokolu mozna neni nutne kontrolovat pro kazdy prijaty znak, ale ve funkci update odstranit navesti z prikazu case a dat je do samostatne procedury pro prijate retezce velikosti 1 znaku a v pripade shody provest return. Snizila by se tak nutnost kontrolovat pro kazdy znak prichozivsiho reteze shodu na pet vyse uvedenych kodu protokolu. ussage and setting =================================== prerequisities: installed ant ant run ----------- run the Telnet application as a Java program. The initial parameters ip address: localhost ip port: 23 serial port: 1 a - special test loopback device on server (named fifo) user si: 99991 special user for testing defined on the server equipment: RA telnet: false saying if connect to normal telnet or to virtlab server note: Virtlab server is on port 10000. !! for running TelnetApplet as Java application with another parameters, find in build.xml file target "run" and change appropriate these parameters. ant jar ----------- make the virtlab.jar file and copy it into the directory html and lib. Now You can start TerminalApplet as applet in web page throug terminalApplet.htm For change parameters like running as Java application please change appropriate parameters in terminalApplet.htm file ant compile ----------- compile the applet init ----------- preparation to compile and all other actions. Create directory class, lib if needed. Doplneni projektu ================= - ulozit/nahrat jednotlive konfiguraky pres applet pomoci FILE -> load/save ============================================================================= SERVER ============================================================================= pripojeni k serveru ============================== - vytvoren specialni testovaci uzivatel. Pro nej neni nutny zaznam v databazi. Tento uzivatel muze pristupovat ke kteremukoli portu, nezavisle na tom, zda je port obsazen ci nikoli. Tento uzivatel ma si "99991". sekvence prihlasovani client server ------- ------------ '1'si_uzivatele (napr. 1123456) --> <-- '4' (si ok) '2'com_port --> <-- '5' (com ok) '3'max_lease_time --> <-- '6' (time ok) pri zadani "2a" (a je oznaceni com_portu), se jedna o specialni loopback port, ktery umozni testovat server na pocitaci, ktery napr. neumi otevrit prislusny /dev/ttySx port. nastaveni paramtru pred prekladem ================================== v souboru server.c -------------------- // #define USE_DB odkomentovanim tohoto radku se provede preklad vcetne pristupu k databazi. Bude-li radek zakomentovan, neberou se knihovny pro pristup k MySql v uvahu, a nejsou tedy ani treba. Samozrejme nelze pristupovat do DB. Slouzi k testovacim ucelum. v souboru server.h ------------------- const long test_user = 99991; //si testovaciho uzivatele. Viz. pripojeni k serveru. const char *devttyS = "/dev/ttyS"; //jmena seriovych RS232 portu. U Moxa karty nastavit na "/dev/ttyM" const char *devttyTATA = "/dev/ttyS1"; // definice portu, kterym se budou posilat prikazy TATAbasmeku #define MAX_NOACTIVITY_TIME 15 // max. doba neaktivity je zde 15 minut. char *server_log_file = "server_log_file"; // log soubor aktivit serveru ovladani serveru ================================== preklad serveru (verze s pristupem k mySql) --------------- make server preklad serveru (testovaci verze bez pristupu k MySql) --------------- make preklad spusteni serveru ---------------- server cislo_IP_portu poznamka: Uzivatel pod kterym je server spusten musi mit prava pro pristup k /dev/ttyXY zarizenim. Moznost vytvoreni specialniho uzivatele pod kterym by se server spoustel. ====================================================================== Databaze, Web aplikace ====================================================================== instalace databaze pomoci skriptu createDb.sql, naplneni testovacimi daty pomoci fill_db.sql Po instalaci db je nutno provezt zakodovani hesel testovacich uzivatelu. Ty jsou po instalaci v nezakodovanem tvaru. Lze provezt volanim zakoduj_hesla.php v prohlizeci. Jinak NEBUDE MOZNO autentizovat zadneho uzivatele v systemu.