Компьютерная распределённая система для получения информации о доменах (DNS)

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    518,78 Кб
  • Опубликовано:
    2012-11-26
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Компьютерная распределённая система для получения информации о доменах (DNS)

Оглавление

 

Введение

1. Техническое задание

2. Анализ технического задания

3. Проектирование

Диаграмма вариантов использования

Диаграмма классов

Блок-схемы алгоритмов

4. Реализация

4.1 Описание разработанного ПО

Тестирование

Заключение

Приложения

Введение

DNS (англ. Domain Name System - система доменных имён) - компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).

Распределённая база данных DNS поддерживается с помощью иерархии DNS-серверов, взаимодействующих по определённому протоколу.

Основой DNS является представление об иерархической структуре доменного имени и зонах. Каждый сервер, отвечающий за имя, может делегировать ответственность за дальнейшую часть домена другому серверу (с административной точки зрения - другой организации или человеку), что позволяет возложить ответственность за актуальность информации на серверы различных организаций (людей), отвечающих только за "свою" часть доменного имени.

Начиная с 2010 года, в систему DNS внедряются средства проверки целостности передаваемых данных, называемые DNS Security Extensions (DNSSEC). Передаваемые данные не шифруются, но их достоверность проверяется криптографическими способами. Внедряемый стандарт DANE обеспечивает передачу средствами DNS достоверной криптографической информации (сертификатов), используемых для установления безопасных и защищённых соединений транспортного и прикладного уровней.

иерархия сервер доменное имя

1. Техническое задание


Разработать оконную утилиту, для обращения к системе DNS (определение доменных имен по IP-адресам, IP-адресов по доменным именам и т.д. - аналог утилиты NSLookUp).

2. Анализ технического задания


В настоящее время существует множество утилит и сервисов, позволяющих узнать IP-адрес по доменному имени и наоборот.

Одной из наиболее распространенных является утилита NSLookUp, включенная корпорацией Microsoft в ОС Windows.

Работа c NSLookUp происходит в консоли, где пользователь при помощи тех или иных команд может узнать необходимую информацию.

Так например запрос на вывод IP-адресов некоторого домена (wikipedia.org) выглядит следующим образом.

>nslookup wikipedia.org

wikipedia.org

Adresses: 74.86.197.160

.87.34.15

Исходя из примера, видим, что NSLookUp выводит все IP-адреса, закрепленные за доменом.

Таким образом в результате выполнения технического задания должно получиться оконное приложение, которое будет выводить все IP-адреса прикрепленные к домену, или имя домена по IP-адресу.

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

3. Проектирование


Диаграмма вариантов использования


Рисунок 4.1 - Диаграмма вариантов использования

 

Диаграмма классов


Рисунок 4.2 - Диаграмма классов

 


Блок-схемы алгоритмов


Рисунок 4.3 - Блок-схемы алгоритмов работы с системой DNS

Рисунок 4.4 - Блок-схема алгоритма нажатия на кнопку действия

4. Реализация


4.1 Описание разработанного ПО


Было разработано следующее приложение:

Рисунок 5.1 - Скриншот работающего приложения (вывод списка IP-адресов)

Рисунок 5.2 - Скриншот работающего приложения (вывод доменного имени)

Как видно из скриншотов, разработанная программа представляет собой простое оконное приложение.

Для удобства пользователя были добавлены несколько необязательных кнопок, например кнопка копирующая текст из выделенной строки ListBox’а в буфер обмена, кнопка копирующая текст из буфера обмена в TextBox и кнопка, очищающая TextBox.

 

Тестирование


Функциональное тестирование

Функциональное тестирование также известно, как тестирование методом "черного ящика". При этом неизвестна внутренняя структура ПО и исходные коды, но известна спецификация продукта.

Первым делом проверим работы ПО на корректных данных.

Рисунок 5.1 - Тестирование на корректных данных

Далее попробуем ввести несуществующее доменное имя или бессмысленный набор символов.

Рисунок 5.2 - Ввод неверного доменного имени

Как видно из рисунка (5.2), при вводе неверного доменного имени программа сообщает пользователю об ошибке.

Теперь проверим работу программы в случае ввода несуществующего, либо неверного IP-адреса.

Рисунок 5.3 - Ввод неверного IP-адреса

Как видно из рисунка (5.3), при вводе неверного IP-адреса программа сообщает пользователю об ошибке.

Таким образом тестовый набор представляет из себя следующее:

Входные данные

Результат

213.180.204.11

metrika. yandex.ru

wikipedia.org

208.80.152.201

wikipedia124.org

Сообщение об ошибке

jflksjdflkdsjhfkjsdf

192.168.1.9

Сообщение об ошибке

999.999.999.999

Сообщение об ошибке


Таким образом по результатам тестирования можно сделать вывод, что программа работает корректно на корректных данных.

При вводе некорректных данных программа уведомляет пользователя об ошибке.

Заключение


В ходе выполнения курсового проекта было разработано приложение, выполняющее работу с системой DNS (определение доменных имен по IP-адресам, IP-адресов по доменным именам).

Разработанное приложение работает корректно на корректных данных и удовлетворяет требования технического задания.

Приложения


Network. cs

using System;

using System. Collections. Generic;System. Linq;System. Text;System.net;System. Windows. Forms;DNStoIP

{Network

{static List<string> IPlist = new List<string> ();static string HostName;static void DNStoIP (string DNS)

{

{[] addresslist = Dns. GetHostAddresses (DNS);(IPAddress address in addresslist)

{. Add (address. ToString ());

}

}(Exception e)

{. Show ("Введен несуществующий либо неверный адрес!");

}

}static void IPtoDNS (string IP)

{

{address = IPAddress. Parse (IP);entry = Dns. GetHostEntry (address);= entry. HostName. ToString ();

}(Exception e)

{. Show ("Введен несуществующий либо неверный адрес!");

}

}

}

}. csSystem;System. Collections. Generic;System.componentModel;System. Data;System. Drawing;System. Linq;System. Text;System. Windows. Forms;System.net;DNStoIP

{partial class Form1: Form

{Form1 ()

{();

}void button1_Click (object sender, EventArgs e)

{ip;(IPAddress. TryParse (textBox1. Text, out ip) == true)

{. Items. Clear ();. HostName = string. Empty;. IPtoDNS (textBox1. Text);. Items. Add (Network. HostName);

}

{. Items. Clear ();. IPlist. Clear ();. DNStoIP (textBox1. Text);(string s in Network. IPlist)

{. Items. Add (s);

}

}

}void button3_Click (object sender, EventArgs e)

{. Close ();

}void textBox1_KeyPress (object sender, KeyPressEventArgs e)

{(e. KeyChar. Equals ( (char) 13))

{_Click (sender, e);

}

}void button2_Click (object sender, EventArgs e)

{. SetText (listBox1. SelectedItem. ToString ());

}void button4_Click (object sender, EventArgs e)

{. Clear ();

}void button5_Click (object sender, EventArgs e)

{iData = Clipboard. GetDataObject ();(iData. GetDataPresent (DataFormats. Text))

{. Text = (String) iData. GetData (DataFormats. Text);

}

{. Show ("Возможно буфер обмена пуст или содержит данные неверного формата!");

}

}

}

}

Похожие работы на - Компьютерная распределённая система для получения информации о доменах (DNS)

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!