You are hereAplikacja ICS Server

Aplikacja ICS Server


   Dwoma podstawowymi konsolowymi aplikacjami systemu In Circuit Spy są programy ics_client.exe oraz ics_server.exe. Rozdział ten opisuje część serwerową połączenia.
Serwer systemu ICS'a to program pośredniczący pomiędzy urządzeniem elektronicznym ICS a aplikacją kliencką. Od strony urządzenia interfejsem komunikacyjnym jest połączenie oparte o standard USB, natomiast od strony użytkownika zastosowano sieciowy interfejs TCP/IP.

Serwer można wywołać z linii poleceń systemu lub z dowolnego skryptu mogącego uruchomić aplikacje typu *.exe. Serwer w przeciwieństwie do aplikacji klienckiej przyjmuje tylko kilka parametrów konfiguracyjnych wprowadzanych do aplikacji za pomocą parametrów wywołania programu. Parametry te przedstawiono poniżej.

ics_server.exe --reset_console
Komunikaty wysyłane przez serwer na standardową konsolę sytemu mają kolor zależnych o tego czy mają charakter informacyjny, ostrzeżenia czy przekazują informacje o błędzie.
Rozkaz reset_console wprowadzono ponieważ aplikację serwera, jak każdy inny program, można wyłączyć podczas jego pracy. W przypadku gdyby serwer został zamknięty podczas wypisywania tekstu na ekran w kolorze innym niż standardowy, kolor ten nadal obowiązywałby w danej konsoli. Aby umożliwić użytkownikowi przywrócenie koloru białego tekstu grafiki wprowadzono opisane polecenie. W praktyce polecenie to jest niewykorzystywane

ics_server.exe --ics32sx --connect portTCP
Rozkaz uruchamiający serwer jako program oczekujący na połączenie z klientem oraz urządzeniem ICS. Po pomyślnym zainicjowaniu programu, przechodzi on w stan czuwania. W tym czasie, jako aplikacja konsolowa, serwer wyświetla wszelkie istotne informacje na oknie konsolowym które zostało przeznaczone dla danego serwera.
Poza słowami kluczowymi --ics32sx i --connect w poleceniu występuje jeszcze parametr portTCP.
Parametr portTCP określa na jakim porcie połączenie TCP/IP pomiędzy serwerem a klientem, serwer będzie oczekiwał na pojawienie się rozkazów. W ICS'ie, standardowo numerowanie portów rozpoczyna się od wartości 42100

Przy uruchamianiu serwera w trybie pracy --connect dodatkowo można zdefiniować dodatkowe parametry połączenia. należą do nich adresy akceptowalne oraz tryb uprzywilejowania

--aip_xxx.xxx.xxx.xxx
Akceptowalne adresy IP. Domyślnie serwer przyjmuje polecenia tylko od połączenia którego IP jest identyczne z IP komputera na którym serwer został uruchomiony. Standardowo takim IP jest adres 127.0.0.1 (Local Host) oraz adres przydzielony przez serwer sieci, do której komputer został podpięty.
W przypadku gdy zaistnieje potrzeba zdalnego dostępu do serwera (urządzenia ICS), konieczne jest uruchomienie serwera z parametrem określającym IP komputera z poziomu którego aplikacja kliencka wysyłać będzie rozkazy do wykonania. Przykładowo, jeżeli komputerowi na którym pracuje serwer przydzielono adres
192.168.10.23
a użytkownik chce wydawać polecenia serwerowi z komputera o IP równym
192.168.10.45
konieczne jest uruchomienie serwera z następującym parametrem dodatkowym:
ics_server.exe --ics32sx --connect 42100 --aip_192.168.10.45
access mode
Poziom uprzywilejowania. Poza standardowym zestawem poleceń, ICS wyposażono również w zestaw rozkazów umożliwiających wykonywanie zadań niezupełnie związanych z tylko obsługą urządzenia ICS. Do rozkazów tych należy m.in. rozkaz umożliwiający uruchomienie po stronie serwera aplikacji bez parametrów lub z parametrami. Oczywiste jest, że nie zawsze jest rozsądne na umożliwienie zewnętrznej osobie na dostęp do takiej funkcjonalności systemu. Poza oczywistymi korzyściami wynikającymi z możliwości stosowania tych rozkazów, należy wyraźnie zaznaczyć, że stanowią one pewnego rodzaju zagrożenie dla komputera użytkownika. Dlatego też standardowo serwer ICS'a nie zezwala na wykonywanie wszystkich dostępnych w systemie rozkazów.
Dozwolone tryby pracy serwera:
  • --privileged Dodanie tego parametru zezwala na wykonywanie rozkazu:
    sys_server_wr_rd_buffer

  • --supervisor Dodanie tego parametru zezwala na wykonywanie rozkazów:
    sys_server_wr_rd_buffer
    sys_application_open
    sys_application_close

  • brak parametru Pozostałe rozkazy

Szukaj