Protokol testi hakkında bilgi edinmeden önce şunu anlayalım:
Protokol nedir?
Bir bilgisayar birbiriyle iletişim kurduğunda, her bilgisayarın uyması gereken ortak kurallar ve koşullar vardır. Başka bir deyişle, protokoller verilerin bilgi işlem cihazları arasında ve ağlar üzerinden nasıl iletildiğini belirler.
Protokol Testi
Protokol Testi Anahtarlama, Kablosuz, VoIP, Yönlendirme, vb. Alanlarda iletişim protokollerini kontrol etmenin bir yöntemidir. Protokol testinin birincil amacı, protokol test araçları kullanılarak bir ağ üzerinden gönderilen paketlerin yapısını kontrol etmektir. Yönlendiriciler ve anahtarlar, test edilen cihazların ve ürünlerin parçalarını oluşturmak için test sırasında kullanılır.
Yönlendirilmiş ve Yönlendirme Protokolleri
Protokoller, yönlendirilmiş protokoller ve yönlendirme protokolleri olarak iki kategoride sınıflandırılır.
- Yönlendirilmiş Protokoller : Yönlendirilmiş protokoller, kullanıcı verilerini bir ağdan başka bir ağa göndermek için kullanılabilir. E-postalar, web trafiği, dosya aktarımları vb. Gibi kullanıcı trafiğini taşır. Yönlendirilen protokoller IP, IPX ve AppleTalk'tır.
- Yönlendirme Protokolleri : Yönlendirme protokolleri, yönlendiriciler için yolları belirleyen ağ protokolleridir. Yalnızca yönlendiriciler arasında kullanılır. Örneğin RIP, IGRP, EIGRP vb.
Basit bir ifadeyle, bir yönlendirici ulaşım için kullanılan bir otobüs gibidir, yönlendirme protokolleri ise yoldaki sinyallerdir.
İletişim türüne bağlı olarak farklı protokoller kullanılır. CISCO, JUNIPER, ALCATEL gibi şirketler, iletişim için farklı protokoller kullanan yönlendiriciler, modemler, kablosuz erişim noktaları vb. Gibi ağ aygıtları üretir; örneğin, Cisco EIGRP, OSPF, vb. Kullanır.Protokol testi, EIGRP (Gelişmiş İç Mekan) olup olmadığını kontrol etmekten başka bir şey değildir. Ağ Geçidi Yönlendirme Protokolü) veya OSPF (Önce En Kısa Yolu Aç) veya başka herhangi bir protokol, ilgili standarda göre çalışıyor.
Bilgisayar Protokollerinin Türleri
Protokol Türleri | Protokollerin Amacı |
---|---|
TCP / IP | İnternet üzerinden küçük paketler halinde bilgi göndermek için kullanılır. |
UDP / ICMP | İnternet üzerinden veri paketlerinde az miktarda bilgi göndermek için kullanılır. |
POP3 ve SMTP | Posta göndermek ve almak için kullanılır |
Üstmetin transfer protokolü | Hassas verilere güvenlik sağlamak için HTML sayfasını şifreli biçimde aktarmak için kullanılır. |
FTP | Dosyaları bir ağ üzerinden bir düğümden diğerine taşımak için kullanılır |
* TCP / IP - İletim Kontrol Protokolü / İnternet protokolü, UDP / ICMP - Kullanıcı Datagram Protokolü / İnternet Kontrol Mesajı Protokolü, POP3 / SMTP - Posta Ofisi Protokolü / Basit Posta Aktarım Protokolü, HTTP - Köprü Metni Aktarım Protokolü, FTP - Dosya Aktarım Protokolü
Farklı ağ protokolleri türleri (L2 ve L3)
OSI modeli, katman 2 ve katman 3'ün çok önemli olduğu toplam 7 katman ağ iletişimine sahiptir.
- Katman 2 : Bir veri bağlantı katmanıdır. Mac adresi, Ethernet, Token Ring ve Frame Relay, Veri bağlantı katmanı örnekleridir.
- Katman 3 : İletişim için ağdaki en uygun yolu belirleyen bir ağ katmanıdır. IP adresi, katman 3'ün bir örneğidir.
Protokol Testi nasıl yapılır
- Protokol testi için protokol analizcisine ve simülatöre ihtiyacınız var
- Protokol analizörü, çağrı ve oturum analizi ile birlikte doğru kod çözme sağlar. Simülatör, ağ öğesinin çeşitli varlıklarını simüle ederken
- Genellikle, DUT (test edilen cihaz) tarafından anahtarlar ve yönlendiriciler gibi diğer cihazlara bir protokol testi gerçekleştirilir ve içindeki protokolü yapılandırır
- Daha sonra cihazlar tarafından gönderilen paketlerin paket yapısının kontrol edilmesi
- LxNetworks, Scapy ve Wireshark gibi araçları kullanarak cihazın ölçeklenebilirliğini, performansını, protokol algoritmasını vb. Kontrol eder.
Protokol Testi için Test Türleri
Protokol testi, işlevsellik, performans, protokol yığını, birlikte çalışabilirlik vb. Testlerini içerir. Protokol testi sırasında temel olarak üç kontrol yapılır.
- Doğruluk : Beklediğimizde X paketini alıyor muyuz?
- Gecikme : Bir paketin sistemden geçişi ne kadar sürer?
- Bant genişliği : Saniyede kaç paket gönderebiliriz
Protokol testi iki kategoriye ayrılabilir. Stres ve Güvenilirlik Testleri ve Fonksiyonel Testler. Stres ve Güvenilirlik testleri, Yük Testi, Stres Testi, Performans Testi vb. İçerirken, Fonksiyonel Test negatif test, uygunluk testi, birlikte çalışabilirlik testi vb. İçerir.
- Uygunluk Testi : Ürünlerde uygulanan protokoller, IEEE, RFC vb. Gibi uyumluluk açısından test edilir.
- Birlikte Çalışabilirlik Testi : Farklı satıcılar için birlikte çalışabilirlik test edilir. Bu test, uygun platformda uygunluk testi yapıldıktan sonra yapılır.
- Ağ özelliği Testi: Ağ oluşturma ürünlerinin özellikleri, tasarım belgesine referansla işlevsellik açısından test edilir. Örneğin, özellikler bir anahtarda bağlantı noktası güvenliği, yönlendiricide ACL vb. Olabilir.
Ağ Cihazlarının Protokol Testi için Örnek Test Durumları
Yönlendiriciler için örnek test senaryosu
Test Adı | Test Durumları |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Protokol Testi için Araçlar
Protokolleri doğrulamak için kullanılan en önemli test araçlarını tartışalım
Paket Oluşturma İçin Scapy
Scapy, güçlü bir etkileşimli paket işleme programıdır. Bunu yapmanızı sağlar
- Paketler oluşturun
- Ağdaki paketlerin kodunu çözme
- Paketleri yakalayın ve analiz edin
- Paketleri ağa enjekte edin
Yani temelde scapy, temelde iki şey yapar: cevapları almak ve paket göndermek . Paketleri siz tanımlarsınız, gönderir, cevapları alır, istekleri cevaplarla eşleştirir ve paket çiftlerinin bir listesini ve eşleşmeyen paketlerin bir listesini döndürür.
Ayrıca, izleme yönlendirme, birim testleri, saldırılar veya ağ keşfi, yeni protokoller geliştirme, araştırma vb. Gibi diğer şeylerle de başa çıkabilir.
Scapy, paket gönderip alma veya paket koklama gibi bir görevi gerçekleştirmemize olanak tanıyan bir Python betiği yazmamızı sağlar. Örneğin scapy, bir Python betiği kullanarak veri paketini koklayabilir. Düzenleyiciye girilen getdit'i açma komutu
#gedit scapysniff.py#! / usr / bin / env pythonscapy.all'dan içe aktarma *a = kokla (say = 10)a.nsummary ()kaydedin ve dosyanın modunu yürütülebilir bir forma değiştirin# chmod + x scapysniff.py# ./scaotsbuff.py
10 paket koklayacak ve 10 paket kokladığında özeti yazdıracaktır. Scapy, aynı anda paket göndermek ve almak için bir komut dizisi olarak da kullanılabilir.
Scapy'i indirin
Analiz İçin Wireshark Araçları
Protokol testi için kullanılan araçlar - Wireshark. Paketleri gerçek zamanlı olarak yakalamaya ve bunları insan tarafından okunabilir biçimde görüntülemeye izin verir. Renk kodlaması ve filtreler kullanarak ağ trafiğinin derinliklerine inmenize ve tek tek paketleri incelemenize olanak tanır.
Wireshark, oturumun ne zaman kurulduğunu, tam veri yolculuğunun ne zaman başlatıldığını ve her seferinde ne kadar veri gönderildiğini vb. Belirlemeye yardımcı olan paketleri yakalar.
Wireshark, aşağıdakileri içeren bir dizi zengin özelliğe sahiptir:
- Yüzlerce protokolün kapsamlı bir incelemesi, her zaman daha fazlası eklenir
- Canlı yakalama ve çevrimdışı analiz
- Zengin VoIP analizi
- Standart üç bölmeli paket tarayıcı
- Windows, Linux, OSX ve benzeri çoklu platformlarda çalışır
- Yakalanan ağ verilerine bir GUI aracılığıyla göz atılabilir
- Şifre çözme, IPsec, ISAKMP, SSL / TLS gibi birçok protokolü destekler
- Canlı veriler Ethernet, ATM, Bluetooth, USB, token vb. Üzerinden okunabilir.
- Çıktı CSV, XML, düz metin vb. Olarak dışa aktarılabilir.
Wireshark'ı indirin
TTCN
TCCN, Test Senaryosunu ve bunların protokol testi için uygulanmasını tanımlamak için standart bir test dilidir. Bir TCCN test paketi, TTCN programlama dilinde yazılmış birçok test senaryosu içerir ve reaktif sistemleri veya davranışsal testleri test etmek için kullanılır .
Örneğin, size bir dolar jeton koyduğunuzda kahve veren, ancak içine bir dolardan daha az bir şey girildiğinde yanıt vermeyen bir kahve otomatı. Bu tür makineleri programlamak için TCCN3 dili kullanılır. Kahve makinesinin bozuk para atarken tepki vermesini sağlamak için kahve makinesi gibi davranan TCCN-3 bileşenini yazmamız gerekiyor. Gerçek bir kahve makinesi bir ürün olarak mevcut olmadan önce testimizi çalıştırmamızı sağlar. İşlem tamamlandığında TCCN3 test takımını harici cihaza bağlayacağız.
Test sistemi uyarıcı (dolar parası) yayar ve yanıtlar (kahve) alır. Uyaran adaptörü, uyaranları test sisteminden alır ve bunları test edilen sisteme iletir. Yanıt adaptörü, test edilen sistemin yanıtlarını bekler ve bunları test sistemine iletir.
TCCN3 gibi çeşitli alanlarda kullanılabilir
- Mobil iletişim (LTE, WiMAX, 3G vb.)
- Geniş bant teknolojileri (ATM, DSL)
- Middleware Platformları (Webservices, CORBA vb.)
- İnternet Protokolü (SIP, IMS, IPv6)
- Akıllı kartlar
- Otomotiv (AutoSAR, MOST, CAN)
TCCN'de tanımlayabiliriz
- Test Takımları
- Test Durumları
- Test Adımları
- Değişkenleri Bildirin
- Zamanlayıcıları Bildirin
- PDU'lar vb. Oluşturun
TCCN, ASN.1, XML, C / C ++ gibi diğer dillerin sistem türleriyle entegre edilebilir. TCCN3 çekirdek dili, tablo, grafik ve sunum gibi diğer biçimlerden ayrı olarak metin biçiminde mevcuttur.