Перш ніж ми дізнаємося про тестування протоколів, давайте зрозуміємо:
Що таке протокол?
Коли комп’ютер взаємодіє між собою, існує загальний набір правил і умов, яких повинен дотримуватися кожен комп’ютер. Іншими словами, протоколи визначають спосіб передачі даних між обчислювальними пристроями та через мережі.
Тестування протоколу
Тестування протоколів - це метод перевірки комунікаційних протоколів у доменах комутації, бездротового зв'язку, VoIP, маршрутизації тощо. Основною метою тестування протоколів є перевірка структури пакетів, які надсилаються через мережу за допомогою засобів тестування протоколів. Маршрутизатори та комутатори використовуються під час випробування для формування частин випробовуваних пристроїв та виробів.
Протоколи маршрутизації та маршрутизації
Протоколи класифікуються на дві категорії маршрутизованих протоколів і протоколів маршрутизації
- Маршрутизовані протоколи : Маршрутизовані протоколи можна використовувати для передачі даних користувача з однієї мережі в іншу. Він передає користувальницький трафік, такий як електронна пошта, веб-трафік, передача файлів тощо. Маршрутизовані протоколи - це IP, IPX та AppleTalk.
- Протоколи маршрутизації : Протоколи маршрутизації - це мережеві протоколи, які визначають маршрути для маршрутизаторів. Він використовується лише між маршрутизаторами. Наприклад RIP, IGRP, EIGRP тощо.
Простіше кажучи, маршрутизатор схожий на шину, яка використовується для транспортування, тоді як протоколи маршрутизації - це сигнали на дорозі.
Залежно від типу зв'язку використовуються різні протоколи. Такі компанії, як CISCO, JUNIPER, ALCATEL, виробляють такі мережеві пристрої, як маршрутизатори, модеми, бездротові точки доступу тощо, які використовують різні протоколи для зв'язку, наприклад, Cisco використовує EIGRP, OSPF тощо. Протокол маршрутизації шлюзу) або OSPF (спочатку відкрити найкоротший шлях) або будь-який інший протокол працює відповідно до відповідного стандарту.
Типи комп’ютерних протоколів
Види протоколів | Призначення протоколів |
---|---|
TCP / IP | Застосовується для надсилання інформації невеликими пакетами через Інтернет |
UDP / ICMP | Він використовується для надсилання невеликої кількості інформації в пакетах даних через Інтернет |
POP3 та SMTP | Він використовується для надсилання та отримання пошти |
Протокол передачі гіпертексту | Застосовується для передачі HTML-сторінки в зашифрованому вигляді для забезпечення захисту конфіденційних даних |
FTP | Він використовується для транспортування файлів по мережі від одного вузла до іншого |
* TCP / IP - Протокол управління передачею / Інтернет-протокол, UDP / ICMP - Протокол користувальницьких датаграм / Протокол повідомлень керування Інтернетом, POP3 / SMTP - Протокол пошти / Простий протокол передачі пошти, HTTP - Протокол передачі гіпертексту, FTP - Протокол передачі файлів
Різні типи мережевих протоколів (L2 та L3)
Модель OSI налічує 7 рівнів мережевого зв'язку, у яких рівень 2 і рівень 3 є дуже важливими.
- Шар 2 : Це шар каналу даних. Адреса Mac, Ethernet, Token Ring і Frame Relay - все це приклади рівня передачі даних.
- Шар 3 : Це мережевий рівень, який визначає найкращий доступний шлях у мережі для зв'язку. IP-адреса - приклад рівня 3.
Як зробити тестування протоколу
- Для тестування протоколу потрібен аналізатор протоколу та тренажер
- Аналізатор протоколів забезпечує правильне декодування разом із аналізом викликів та сеансів. Хоча симулятор імітує різні сутності мережевого елемента
- Зазвичай тестування протоколу проводиться DUT (пристрій, що тестується) на інші пристрої, такі як комутатори та маршрутизатори, та налаштування протоколу в ньому
- Потім перевіряють структуру пакетів пакетів, відправлених пристроями
- Він перевіряє масштабованість, продуктивність, алгоритм протоколу тощо пристрою за допомогою таких інструментів, як lxNetworks, Scapy та Wireshark
Типи тестування для тестування протоколу
Тестування протоколів включає тестування функціональності, продуктивності, стеку протоколів, сумісності тощо. Під час тестування протоколу виконуються три перевірки.
- Правильність : Чи отримуємо ми пакет X тоді, коли очікували
- Затримка : скільки часу займає пакет для проходження системи
- Пропускна здатність : скільки пакетів ми можемо відправити за секунду
Тестування протоколу можна розділити на дві категорії. Випробування на напругу та надійність та функціональні випробування. Тести на міцність і надійність охоплюють випробування на навантаження, випробування на випробування, перевірку продуктивності тощо. Хоча функціональне випробування включає негативні випробування, перевірку відповідності, перевірку сумісності тощо
- Тестування на відповідність : Протоколи, реалізовані на продуктах, перевіряються на відповідність, таким як IEEE, RFC тощо.
- Тестування сумісності : Тестується взаємодія для різних постачальників. Це тестування проводиться після тестування відповідності на відповідній платформі
- Тестування функцій мережі : Функції мережевих продуктів перевіряються на функціональність з посиланням на проектний документ. Наприклад, функціями можуть бути захист портів на комутаторі, ACL на маршрутизаторі тощо.
Зразки тестових випадків для тестування протоколів мережевих пристроїв
Ось зразок тесту для маршрутизаторів
Назва тесту | Тестові кейси |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Інструменти для тестування протоколів
Давайте обговоримо найважливіші інструменти тестування, що використовуються для перевірки протоколів
Скапі для виготовлення пакетів
Scapy - це потужна інтерактивна програма для обробки пакетів. Це дозволяє вам
- Створюйте пакети
- Розшифруйте пакети в мережі
- Захоплюйте пакети та аналізуйте їх
- Введіть пакети в мережу
Отже, в основному Scapy в основному робить дві речі: отримує відповіді та надсилає пакети . Ви визначаєте пакети, він надсилає їх, отримує відповіді, поєднує запити з відповідями і повертає список пар пакетів та список неперевершених пакетів.
Він також може обробляти інші речі, такі як маршрутизація трасування, модульні тести, атаки або виявлення мережі, розробка нових протоколів, зондування тощо.
Scapy дозволяє нам писати скрипт Python, який дозволяє нам виконувати такі завдання, як надсилання та отримання пакетів або обнюхування пакетів. Наприклад, scapy може нюхати пакет даних, використовуючи скрипт Python. Команда відкрити getdit, введена в редакторі
#gedit scapysniff.py#! / usr / bin / env pythonвід scapy.all імпорт *a = нюхати (кол = 10)a. резюме ()збережіть і змініть режим файлу на виконувану форму# chmod + x scapysniff.py# ./scaotsbuff.py
Він пронюхає 10 пакетів, і як тільки пронюхає 10 пакетів, надрукує резюме. Scapy також як масив команд для одночасної відправки та отримання пакетів
Завантажте Scapy
Інструменти Wireshark для аналізу
Інструменти, що використовуються для тестування протоколів - Wireshark. Це дозволяє захоплювати пакети в режимі реального часу та відображати їх у зручній для читання формі. Це дозволяє заглибитися в мережевий трафік та перевірити окремі пакети за допомогою кольорового кодування та фільтрів.
Wireshark захоплює пакети, які допомагають визначити, коли сеанс встановлюється, коли було ініційовано точний перехід даних і скільки даних надсилається кожного разу тощо.
Wireshark має набір багатих функцій, що включає
- Ретельна перевірка сотень протоколів, які постійно додаються
- Захоплення в режимі реального часу та офлайн-аналіз
- Розширений VoIP-аналіз
- Стандартний трипанельний браузер
- Працює на мультиплатформах, таких як Windows, Linux, OSX тощо
- Захоплені мережеві дані можна переглядати за допомогою графічного інтерфейсу
- Розшифровка підтримує багато протоколів, таких як IPsec, ISAKMP, SSL / TLS
- Дані в реальному часі можна читати з Ethernet, банкомату, Bluetooth, USB, маркера тощо.
- Вихідні дані можна експортувати у CSV, XML, звичайний текст тощо.
Завантажте Wireshark
TTCN
TCCN - це стандартна мова тестування для визначення сценарію тестування та їх реалізації для тестування протоколів. Набір тестів TCCN містить багато тестових кейсів, написаних мовою програмування TTCN, і він використовується для тестування реактивних систем або поведінкового тестування .
Наприклад, торговий автомат з кавою, який дає вам каву після вставки доларової монети, але не реагує, якщо в неї вставлено щось менше долара. Для програмування таких машин використовується мова TCCN3. Для того, щоб кавова машина реагувала на вставку монети, ми повинні написати компонент TCCN-3, який працює як кавоварка. Це дозволяє нам провести тест перед тим, як справжня кавоварка буде доступна як продукт. Після цього ми підключимо набір тестів TCCN3 до зовнішнього пристрою.
Тестова система випромінює подразники (доларова монета) і отримує відповіді (кава). Адаптер стимулів отримує подразники з тест-системи та передає їх тестовій системі. Адаптер відповіді чекає відповідей тестованої системи та передає їх тестовій системі.
TCCN3 може використовуватися в різних областях, таких як
- Мобільний зв’язок (LTE, WiMAX, 3G тощо)
- Широкосмугові технології (ATM, DSL)
- Платформи проміжного програмного забезпечення (веб-сервіси, CORBA тощо)
- Інтернет-протокол (SIP, IMS, IPv6)
- Смарт-карти
- Автомобільна (AutoSAR, MOST, CAN)
У TCCN ми можемо визначити
- Тестові набори
- Тестові кейси
- Тестові кроки
- Оголосіть змінні
- Заявіть таймери
- Створюйте PDU тощо.
TCCN може бути інтегрований із типами систем інших мов, таких як ASN.1, XML, C / C ++. Основна мова TCCN3 існує у текстовому форматі, крім інших форматів, таких як табличний, графічний та презентаційний.