
- •4. Зміст пояснювальної записки (перелік питань, що підлягають розробці):
- •5. Перелік обов’язкового графічного матеріалу:
- •6. Календарний план
- •Реферат
- •Розділ 1 аналіз основних принципів побудови радіомереж asnet
- •1.1. Проблеми розробки мережі радіодатчиків asnet і методи їх вирішення.
- •1.2. Сфера застосування мереж asnet.
- •1.3. Технологія зв'язку в радіомережі датчиків asnet.
- •1.4. Надійність і безпека в мережі asnet.
- •1.5. Компоненти asnet. Типи фізичних пристроїв і їх функції в мережі.
- •1.6. Висновки до розділу
- •Розділ 2 основні поняття керування трафіком і ресурсами
- •2.1. Обмеження механізмів керування
- •2.2. Mpls і керування трафіком
- •2.3. Орієнтований mpls-граф
- •2.4. Фундаментальні проблеми керування трафіком в mpls
- •2.5. Аналіз сучасних програм оцінки і контролю трафіку у мережі
- •2.6. Висновки до розділу
- •Розділ 3 програмний моніторинг топології і трафіку радіомережі передачі даних
- •3.1. Топологія і структура радіомережі передачі даних.
- •3.1.1. Базові топології мереж lr_wpan.
- •3.1.2. Асоціація - входження вузла до складу pan
- •3.1.3. Створення мережі asnet з топологією кластерів "line-mesh".
- •3.2. Вибір стека протоколів для платформи розробки радіомережі asnet.
- •3.3. Зв’язки між основними модулями програми
- •3.4. Основні екранні форми програми
- •3.5. Алгоритми розробки програмних модулів аналізу архітектури мережі asnet
- •3.6. Архітектура стеку комунікаційних протоколів для радіомереж asnet
- •3.7. Висновки до розділу
- •Висновки
- •Список використаних джерел
- •Додаток а Лістинг коду програмних процедур і классів для організації роботи мережевих пристроїв
- •Додаток б Схема алгоритму формування запиту до бази даних мережевих адрес
Список використаних джерел
ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов, программ данных и систем. – М.: 1990. – 40 с.
Schulman A. Computer And Internet Surveillance in the Workplace: Rough Notes, US, 2001-2002. [Електронне видання]: http://www.sonic.net
Schulman A. The Extent of Systematic Monitoring of Employee E-mail and Internet Use, US, 2001-2002. [Електронне видання]: http://www.sonic.net
Красноступ Н.Д., Кудин Д.В. Шпионские программы и новейшие методы защиты от них// Электронное издание bezpeka.com, ‑ М. 2005.
Шелупанов А. А., Мещеряков Р. В., Лось В. П., Белов Е. Б. Основы информационной безопасности, М: Горячая линия ‑Телеком, 2006 - 544с.
Нечаев В.И. Элементы криптографии. Основы теории защиты информации, М. – 2005. - 112 с.
Цирлов В. Л. Основы информационной безопасности. Краткий курс, Издательство: Феникс, 2008 - 256 с.
Шаньгин В. Ф. Защита компьютерной информации, М: ДМК. 2008 - 544с.
Галисеев Г.В. Программирование в среде Delphi 7. Самоучитель, М.:BHV – 2005, 288 с.
Голуб А. Правила программирования на С и С++. - М.:"Бином", 2001. - 241 с.
Громов Ю.Ю., Татаренко С.И. Программирование на языке СИ: Учебное пособие. - Тамбов, 1995. - 169 с.
Гук М.Ю. Интерфейсы ПК: справочник. – СПб: ЗАО «Издательство «Питер», 1999. – 416 с.
Крупник А.Б. Безопасность домашнего ПК. Народные советы, М.: BHV. – 2007. – 256 с.
С. Н. Семкин , Э. В. Беляков, С. В. Гребенев , В. И. Козачок Основы организационного обеспечения информационной безопасности объектов информатизации, П.: BHV – 2007 – 192с.
Свен Шрайбер, Недокументированные возможности Windows 2000, - СПб.: Питер, 2002 - 544 с.
НД ТЗИ 1.1-003-99. Термінологія у області захисту інформації в комп'ютерних системах від несанкціонованого доступу. // Департамент спеціальних телекомунікаційних систем і захисту інформації Служби безпеки України. – Київ, 2009.
Додаток а Лістинг коду програмних процедур і классів для організації роботи мережевих пристроїв
procedure TForm1.btnSendClick(Sender: TObject);
var
SendThread: TSendThread;
begin
SendThread:= TSendThread.Create(cds);
SendThread.OnLog:= OnLog;
SendThread.ServerAddress:= EditServer.Text;
SendThread.Resume;
end;
procedure TSendThread.Execute;
var
I: Integer;
Data: TStringList;
Buf: String;
begin
try
Data:= TStringList.Create;
fIdTcpClient:= TIdTcpClient.Create (nil);
try
fIdTcpClient.Host:= ServerAddress;
fIdTcpClient.Port:= 1051;
fIdTcpClient.Connect;
fDataSet.First;
while not fDataSet.Eof do
begin
// если запись еще не зарегистрирована
if fDataSet.FieldByName('CompID').IsNull or
(fDataSet.FieldByName('CompID').AsInteger = 0) then
begin
FLogMsg:= 'Sending ' + fDataSet.FieldByName('Company').AsString;
Synchronize(DoLog);
Data.Clear;
// создать строку со структурой "FieldName=Value"
for I:= 0 to fDataSet.FieldCount - 1 do
Data.Values [fDataSet.Fields[I].FieldName]:=
fDataSet.Fields [I].AsString;
// отправить запись
fIdTcpClient.Writeln ('senddata');
fIdTcpClient.WriteStrings (Data, True);
// ожидание ответа
Buf:= fIdTcpClient.ReadLn;
fDataSet.Edit;
fDataSet.FieldByName('CompID').AsString:= Buf;
fDataSet.Post;
FLogMsg:= fDataSet.FieldByName('Company').AsString +
' logged as ' + fDataSet.FieldByName('CompID').AsString;
Synchronize(DoLog);
end;
fDataSet.Next;
end;
finally
fIdTcpClient.Disconnect;
fIdTcpClient.Free;
Data.Free;
end;
except
// определение ошибки набора данных
// (совместное редактирование и т. д.)
end;
end;
procedure TForm1.IdTCPServer1TIdCommandHandler0Command(
ASender: TIdCommand);
var
Data: TStrings;
I: Integer;
begin
Data:= TStringList.Create;
try
ASender.Thread.Connection.ReadStrings(Data);
cds.Insert;
// установка поля при помощи строк
for I:= 0 to cds.FieldCount - 1 do
cds.Fields [I].AsString:=
Data.Values [cds.Fields[I].FieldName];
// заполнить ID, отправителя и дату
Inc(ID);
cdsCompID.AsInteger:= ID;
cdsLoggedBy.AsString:= ASender.Thread.Connection.Socket.Binding.PeerIP;
cdsLoggedOn.AsDateTime:= Date;
cds.Post;
// возврат ID
ASender.Thread.Connection.WriteLn(cdsCompID.AsString);
finally
Data.Free;
end;
end;
procedure TMainForm.BtnSendAllClick(Sender: TObject);
var
nItem: Integer;
Res: Word;
begin
Res:= MessageDlg ('Start sending from item ' +
IntToStr (ListAddr.ItemIndex) + ' (' +
ListAddr.Items [ListAddr.ItemIndex] + ')?'#13 +
'(No starts form 0)',
mtConfirmation,
[mbYes, mbNo, mbCancel], 0);
if Res = mrCancel then
Exit;
if Res = mrYes then
nItem:= ListAddr.ItemIndex
else
nItem:= 0;
// соединение
Mail.Host:= eServer.Text;
Mail.Username:= eUserName.Text;
if ePassword.Text <> '' then
begin
Mail.Password:= ePassword.Text;
Mail.AuthenticationType:= atLogin;
end;
Mail.Connect;
// отправка сообщения так же, как обычного сообщения
try
// установка фиксированной части заголовка
MailMessage.From.Name:= eFrom.Text;
MailMessage.Subject:= eSubject.Text;
MailMessage.Body.SetText (
reMessageText.Lines.GetText);
MailMessage.Body.Insert (0, 'Hello');
while nItem < ListAddr.Items.Count do
begin
// показать текущий выбор
Application.ProcessMessages;
ListAddr.ItemIndex:= nItem;
MailMessage.Body [0]:= 'Hello ' + ListAddr.Items [nItem];
MailMessage.Recipients.EMailAddresses:= ListAddr.Items [nItem];
Mail.Send(MailMessage);
Inc (nItem);
end;
finally
// готово
Mail.Disconnect;
end;
end;
Класс TFindWebThread (в программе WebFind)
unit FindTh;
interface
uses
Classes, IdComponent, SysUtils, IdHTTP;
type
TFindWebThread = class(TThread)
Protected
Addr, Text, Status: string;
procedure Execute; override;
procedure AddToList;
procedure ShowStatus;
procedure GrabHtml;
procedure HtmlToList;
procedure HttpWork (Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
public
strUrl: string;
strRead: string;
end;
implementation
{ TFindWebThread }
uses
WebFindF, wininet;
procedure TFindWebThread.AddToList;
begin
if Form1.ListBox1.Items.IndexOf (Addr) < 0 then
begin
Form1.ListBox1.Items.Add (Addr);
Form1.DetailsList.Add (Text);
end;
end;
procedure TFindWebThread.Execute;
begin
GrabHtml;
HtmlToList;
Status:= 'Done with ' + StrUrl;
Synchronize (ShowStatus);
end;
procedure TFindWebThread.GrabHtml;
var
Http1: TIdHTTP;
begin
Status:= 'Sending query: ' + StrUrl;
Synchronize (ShowStatus);
Http1:= TIdHTTP.Create (nil);
try
Http1.Request.UserAgent:= 'User-Agent: NULL';
Http1.OnWork:= HttpWork;
strRead:= Http1.Get (StrUrl);
finally
Http1.Free;
end;
end;
procedure TFindWebThread.HtmlToList;
var
strAddr, strText: string;
nText: integer;
nBegin, nEnd: Integer;
begin
Status:= 'Extracting data for: ' + StrUrl;
Synchronize (ShowStatus);
strRead:= LowerCase (strRead);
repeat
// поиск первой части ссылки HTTP
nBegin:= Pos ('href=http', strRead);
if nBegin <> 0 then
begin
// получение оставшейся части строки, начинающейся с 'http'
strRead:= Copy (strRead, nBegin + 5, 1000000);
// найти окончание ссылки HTTP
nEnd:= Pos ('>', strRead);
strAddr:= Copy (strRead, 1, nEnd - 1);
// продолжить
strRead:= Copy (strRead, nEnd + 1, 1000000);
// добавить URL, если он не содержит 'google'
if Pos ('google', strAddr) = 0 then
begin
nText:= Pos ('', strRead);
strText:= copy (strRead, 1, nText - 1);
// удаление кэшированных ссылок и копий
if (Pos ('cached', strText) = 0) then
begin
Addr:= strAddr;
Text:= strText;
AddToList;
end;
end;
end;
until nBegin = 0;
end;
procedure TFindWebThread.HttpWork(Sender: TObject; AWorkMode: TsWorkMode;
const AWorkCount: Integer);
begin
Status:= 'Received ' + IntToStr (AWorkCount) + ' for ' + strUrl;
Synchronize (ShowStatus);
end;
procedure TFindWebThread.ShowStatus;
begin
Form1.StatusBar1.SimpleText:= Status;
end;
end.