UDP сервер авторизации

Previous pageReturn to chapter overviewNext page

 

Сервер авторизации работает по протоколу UDP, порт 999. Обращаться можно к любому IP адресу интерфейсов, сконфигурированных как внутренние. Также UDP сервер может быть сконфигурирован на обработку широковещательных сообщений запроса Discavery.

 

Описание протокола.

 

Для чисел более одного байта используется обратный формат - сначала идут младшие байты, потом старшие. Данные в описании структур должны быть упакованы, т.е выравнивание отключено!

 


Запрос Discavery имеет следующий формат -

 

( Pascal )

 

// Request:

 

TUAPacketHeader = packed record

   PacketType: byte;    // 8 - для обычного запроса, 9 - для широковещательного

   Command: byte;       // Для этого запроса = 0

   DataLen: WORD;       // Длина пакета в байтах ( = 4 для этого запроса)

end;

 

// Response:

 

TUAServerDiscaveryData = packed record

   ServerIP: DWORD;         // IP адрес сервера

   HTTPProxy: WORD;         // Порт прокси сервера

   SocksProxy: WORD;      // Порт SOCKS сервера

   HTTP: WORD;         // Порт WWW сервера

   SSL: WORD;         // Порт SSL сервера

   RecomendedProtocol: byte;   // Рекомендуемый сервером протокол. Соотв. настройке.

   Reserved: array[1..3of byte;

   SSLHost: string[127];      // Имя хоста для SSL. Соотв. имени сервера в сертификате.

   ServerVer: string[15];      // Версия программы.

end;

 

TUAServerDiscaveryResp = packed record

   Header: TUAPacketHeader;    // Заголовок пакета.

   Data: TUAServerDiscaveryData;

end;

 

( C/C++ )

 

#pragma pack(push, 1)

 

// Request:

 

typedef struct _TUAPacketHeader

{

   BYTE      PacketType;    // 8 - для обычного запроса, 9 - для широковещательного

   BYTE      Command;     // Для этого запроса = 0

   WORD      DataLen;    // Длина пакета в байтах ( = 4 для этого запроса)

} TUAPacketHeader;

 

// Response:

 

typedef struct _UAServerDiscaveryData

{

   DWORD   ServerIP;         // IP адрес сервера

   WORD      HTTPProxy;         // Порт прокси сервера

   WORD      SocksProxy;      // Порт SOCKS сервера

   WORD      HTTP;         // Порт WWW сервера

   WORD      SSL;         // Порт SSL сервера

   BYTE      RecomendedProtocol;   // Рекомендуемый сервером протокол. Соотв. настройке.

   BYTE      Reserved[3];

   BYTE      SSLHostLen;

   CHAR      SSLHos[127];      // Имя хоста для SSL. Соотв. имени сервера в сертификате.

   BYTE      ServerVerLen;

   CHAR      ServerVer[15];      // Версия программы.

} UAServerDiscaveryData;

 

typedef struct _TUAServerDiscaveryResp

{

   TUAPacketHeader      Header;    // Заголовок пакета.

   TUAServerDiscaveryData   Data;

} TUAServerDiscaveryResp;

 

#pragma pack(pop)

 


 

Остальная часть протокола закрыта по соображениям безопасности. В полном обьеме использование его сторонними разработчиками возможно с помощью COM модуля агента (доступно только для Windows).

 

 


Текущая страница справки: help.smart-soft.ru/index.html?sdkagentudp.htm

Сайт разработчиков Traffic Inspector