ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ распрСдСлённая систСма для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°Ρ… (DNS)

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠΊΠΎΠ½Π½ΡƒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ, для обращСния ΠΊ ΡΠΈΡΡ‚Π΅ΠΌΠ΅ DNS (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ ΠΏΠΎ IP-адрСсам, IP-адрСсов ΠΏΠΎ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΈ Ρ‚. Π΄. — Π°Π½Π°Π»ΠΎΠ³ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ NSLookUp). ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ лишними функциями ΠΈ Π΅Π³ΠΎ интСрфСйс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ-понятСн Π΄Π°ΠΆΠ΅ Π½Π΅ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. РаспрСдСлённая Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… DNS поддСрТиваСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ DNS-сСрвСров, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ распрСдСлённая систСма для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°Ρ… (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

208.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;

using System. Linq;

using System. Text;

using System.net;

using System. Windows. Forms;

namespace DNStoIP

{

class Network

{

public static List IPlist = new List ();

public static string HostName;

public static void DNStoIP (string DNS)

{

try

{

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

foreach (IPAddress address in addresslist)

{

IPlist. Add (address. ToString ());

}

}

catch (Exception e)

{

MessageBox. Show («Π’Π²Π΅Π΄Π΅Π½ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π»ΠΈΠ±ΠΎ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ адрСс!»);

}

}

public static void IPtoDNS (string IP)

{

try

{

IPAddress address = IPAddress. Parse (IP);

IPHostEntry entry = Dns. GetHostEntry (address);

HostName = entry. HostName. ToString ();

}

catch (Exception e)

{

MessageBox. Show («Π’Π²Π΅Π΄Π΅Π½ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π»ΠΈΠ±ΠΎ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ адрСс!»);

}

}

}

}

Form1. cs

using System;

using System. Collections. Generic;

using System. componentModel;

using System. Data;

using System. Drawing;

using System. Linq;

using System. Text;

using System. Windows. Forms;

using System.net;

namespace DNStoIP

{

public partial class Form1: Form

{

public Form1 ()

{

InitializeComponent ();

}

private void button1_Click (object sender, EventArgs e)

{

IPAddress ip;

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

{

listBox1. Items. Clear ();

Network. HostName = string. Empty;

Network. IPtoDNS (textBox1. Text);

listBox1. Items. Add (Network. HostName);

}

else

{

listBox1. Items. Clear ();

Network. IPlist. Clear ();

Network. DNStoIP (textBox1. Text);

foreach (string s in Network. IPlist)

{

listBox1. Items. Add (s);

}

}

}

private void button3_Click (object sender, EventArgs e)

{

this. Close ();

}

private void textBox1_KeyPress (object sender, KeyPressEventArgs e)

{

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

{

button1_Click (sender, e);

}

}

private void button2_Click (object sender, EventArgs e)

{

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

}

private void button4_Click (object sender, EventArgs e)

{

textBox1. Clear ();

}

private void button5_Click (object sender, EventArgs e)

{

IDataObject iData = Clipboard. GetDataObject ();

if (iData. GetDataPresent (DataFormats. Text))

{

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

}

else

{

MessageBox. Show («Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° пуст ΠΈΠ»ΠΈ содСрТит Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°!»);

}

}

}

}

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ