Hazır koklayıcı. Ağ paketi analizörleri. İyi niyetler ve kötü niyetli hedefler

  • 05.03.2020

Bilgi (ENG):
SmartSniff, ağ bağdaştırıcınızdan geçen TCP / IP paketlerini yakalamanıza ve yakalanan verileri istemciler ve sunucular arasındaki konuşma dizisi olarak görüntülemenize olanak tanıyan bir ağ izleme yardımcı programıdır. TCP / IP konuşmalarını Ascii modunda (HTTP, SMTP, POP3 ve FTP gibi metin tabanlı protokoller için) veya hex dökümü olarak görüntüleyebilirsiniz. (DNS gibi metin tabanlı olmayan protokoller için)
SmartSniff, TCP / IP paketlerini yakalamak için 3 yöntem sunar:
Raw Sockets (Yalnızca Windows 2000 / XP veya üstü için): Bir yakalama sürücüsü yüklemeden ağınızdaki TCP / IP paketlerini yakalamanıza olanak tanır. Bu yöntemin bazı sınırlamaları ve sorunları vardır.
WinPcap Capture Driver: Tüm Windows işletim sistemlerinde TCP/IP paketlerini yakalamanızı sağlar. (Windows 98 / ME / NT / 2000 / XP / 2003 / Vista) Kullanmak için bu Web sitesinden WinPcap Capture Driver indirip kurmanız gerekmektedir. (WinPcap ücretsiz bir açık kaynaklı yakalama sürücüsüdür.)
Bu yöntem genellikle SmartSniff ile TCP/IP paketlerini yakalamanın tercih edilen yoludur ve Raw Sockets yönteminden daha iyi çalışır.
Microsoft Ağ İzleyici Sürücüsü (Yalnızca Windows 2000 / XP / 2003 için): Microsoft, SmartSniff tarafından kullanılabilen Windows 2000 / XP / 2003 altında ücretsiz bir yakalama sürücüsü sağlar, ancak bu sürücü varsayılan olarak yüklenmez ve manuel olarak yüklemeniz gerekir aşağıdaki seçeneklerden birini kullanarak:
Seçenek 1: Microsoft Web sitesindeki talimatlara göre Windows 2000 / XP CD-ROM'undan yükleyin
Seçenek 2 (Yalnızca XP): Windows XP Service Pack 2 Destek Araçlarını indirin ve yükleyin. Bu paketteki araçlardan biri netcap.exe'dir. Bu aracı ilk kez çalıştırdığınızda, Ağ İzleyici Sürücüsü otomatik olarak sisteminize yüklenecektir.
Microsoft Ağ İzleyicisi Sürücüsü 3: Microsoft, Windows 7 / Vista / 2008 altında da desteklenen Microsoft Ağ İzleyicisi sürücüsünün (3.x) yeni bir sürümünü sağlar. 1.60 sürümünden itibaren SmartSniff, ağ trafiğini yakalamak için bu sürücüyü kullanabilir.
Microsoft Ağ İzleyicisi'nin (3.x) yeni sürümü, Microsoft Web sitesinden yüklenebilir.

sistem gereksinimleri
SmartSniff, WinPcap yakalama sürücüsü kurulu olduğu ve ağınızla düzgün çalıştığı sürece, Windows işletim sisteminin herhangi bir sürümünde (Windows 98 / ME / NT / 2000 / XP / 2003/2008 / Vista / 7/8) TCP / IP paketlerini yakalayabilir. adaptör.

SmartSniff'i, sisteminizde yüklüyse, Microsoft Network Monitor'ün yakalama sürücüsü ile de kullanabilirsiniz.
Windows 2000 / XP (veya üstü) altında SmartSniff, "Raw Sockets" yöntemini kullanarak herhangi bir yakalama sürücüsü yüklemeden TCP / IP paketlerini yakalamanıza da olanak tanır. Ancak, bu yakalama yönteminin bazı sınırlamaları ve sorunları vardır:
* Giden UDP ve ICMP paketleri yakalanmaz.
* Windows XP SP1'de giden paketler hiç yakalanmıyor - Microsoft'un SP1 güncellemesinde görünen hatası sayesinde ... Bu hata SP2 güncellemesinde düzeltildi, ancak Vista'da Microsoft, XP / SP1'in giden paketler hatasını geri verdi.
* Windows Vista / 7/8'de: Raw Sockets yönteminin tüm sistemlerde düzgün çalışmadığını unutmayın. SmartSniff'te bir hata değil, Windows işletim sisteminin API'sinde. Yalnızca giden trafiği görüyorsanız, Windows güvenlik duvarını kapatmayı deneyin veya smsniff.exe'yi Windows güvenlik duvarının izin verilen programlar listesine ekleyin.

Sıradan bir kullanıcı "sniffer" terimini duyduğunda, hemen bunun ne olduğunu ve neden gerekli olduğunu merak etmeye başlar.

Her şeyi basit terimlerle açıklamaya çalışacağız.

Ancak, bu makale yalnızca acemi kullanıcılar için değil, aynı zamanda için de tasarlanacaktır.

Tanım

koklayıcı Bir trafik analizörüdür. Buna karşılık, trafik, bilgisayar ağlarından geçen tüm bilgilerdir.

Bu analizör, hangi bilgilerin iletildiğine bakar. Bunu yapmak için, onu engellemeniz gerekir. Aslında, bu yasa dışı bir şeydir, çünkü bu şekilde insanlar genellikle diğer insanların verilerine erişim sağlar.

Çoğu Batılının klasik bir komplosu olan bir tren soygunuyla karşılaştırılabilir.

Bazı bilgileri başka bir kullanıcıya aktarıyorsunuz. Bir "tren", yani bir ağ kanalı tarafından yönlendiriliyor.

Bloody Joe'nun çetesindeki pislikler trenin yolunu keser ve kemiğe kadar soyar. Bizim durumumuzda bilgi daha da ileri gider, yani saldırganlar kelimenin tam anlamıyla onu çalmazlar.

Ama diyelim ki bu bilgiler şifreler, kişisel kayıtlar, fotoğraflar vb.

Saldırganlar her şeyi basitçe yeniden yazabilir ve fotoğraflayabilir. Bu şekilde, gizlemek istediğiniz hassas verilere erişimleri olacaktır.

Evet, tüm bu bilgilere sahip olacaksınız, size gelecek.

Ama tamamen yabancıların da aynı şeyi bildiğini bileceksiniz. Ancak 21. yüzyılda en değerli olan bilgidir!

Bizim durumumuzda, kullanılan ilke budur. Bazı insanlar trafiği durdurur, ondan veri okur ve gönderir.

Ancak, koklayıcılar söz konusu olduğunda, işler her zaman çok korkutucu değildir. Yalnızca verilere yetkisiz erişim sağlamak için değil, aynı zamanda trafiğin kendisini analiz etmek için de kullanılırlar. Bu, sistem yöneticilerinin ve sadece çeşitli kaynakların yöneticilerinin çalışmalarının önemli bir parçasıdır. Uygulama hakkında daha ayrıntılı olarak konuşmaya değer. Ama ondan önce, aynı koklayıcıların nasıl çalıştığına değineceğiz.

Çalışma prensibi

Pratikte, koklayıcılar, kelimenin tam anlamıyla bir kablo takan ve ondan veri ve programları okuyan taşınabilir cihazlar olabilir.

Bazı durumlarda, yalnızca bir dizi talimattır, yani belirli bir sırayla ve belirli bir programlama ortamında girilmesi gereken kodlardır.

Daha ayrıntılı olarak, bu tür cihazlar tarafından trafiğin kesilmesi aşağıdaki yollardan biriyle okunabilir:

1 Anahtarlar yerine hub'lar kurarak. Prensip olarak, bir ağ arayüzünün dinlenmesi başka şekillerde gerçekleştirilebilir, ancak hepsi etkisizdir.

2 Kanal kesmeye gerçek bir sniffer bağlayarak. Bu tam olarak yukarıda tartışılan şeydir - ve kanal boyunca hareket eden her şeyi okuyan küçük bir cihaz kurulur.

3 Trafikten bir şube kurarak. Bu dal başka bir cihaza yönlendirilir, belki de şifresi çözülür ve kullanıcıya gönderilir.

4 Trafiği tamamen bir dinleyiciye yönlendirmeyi amaçlayan bir saldırı. Elbette bilgi okuyucuya girdikten sonra tekrar asıl amaçlanan son kullanıcıya gönderilir. en saf haliyle!

5 Elektromanyetik radyasyonu analiz ederek trafik hareketi nedeniyle ortaya çıkar. Bu en zor ve nadiren kullanılan yöntemdir.

İşte ikinci yöntemin nasıl çalıştığına dair bir örnek.

Doğru, burada okuyucunun kabloya basitçe takıldığı gösterilmektedir.

Aslında, bunu bu şekilde yapmak neredeyse imkansız.

Gerçek şu ki, son kullanıcı yine de bir yerde bir kanal kesintisi olduğunu fark edecektir.

Konvansiyonel bir sniffer'ın çalışma prensibi, tek bir segment içinde tüm bağlı makinelere gönderilmeleri gerçeğine dayanmaktadır. Yeterince aptalca, ama şu ana kadar alternatif bir yöntem yok! Ve segmentler arasında, veriler anahtarlar kullanılarak iletilir. Bu, yukarıdaki yöntemlerden birini kullanarak bilgileri engellemenin mümkün olduğu yerdir.

Aslında buna siber saldırılar ve hackleme denir!

Bu arada aynı anahtarları doğru bir şekilde kurarsanız segmenti her türlü siber saldırıdan tamamen koruyabilirsiniz.

En sonunda konuşacağımız başka koruma yöntemleri de var.

Kullanışlı bilgi:

Programa dikkat edin. Pcap kitaplığını kullanarak ağ trafiğini analiz etmek ve veri paketlerini ayrıştırmak için kullanılır. Bu, yalnızca bu kitaplık tarafından desteklenen paketler ayrıştırılabildiğinden, ayrıştırılacak paketlerin sayısını önemli ölçüde azaltır.

Başvuru

Tabii ki, her şeyden önce, bu kavram, yukarıda tartışılan uygulamaya, yani hacker saldırılarına ve kullanıcı verilerinin yasadışı olarak elde edilmesine sahiptir.

Ancak bunun yanı sıra, sniffers diğer alanlarda, özellikle sistem yöneticilerinin çalışmalarında kullanılmaktadır.

Özellikle, bu tür cihazlar veya programlar aşağıdaki görevlerin yerine getirilmesine yardımcı olur:

Gördüğünüz gibi, düşündüğümüz cihazlar veya programlar, sistem yöneticilerinin ve ağları kullanan diğer kişilerin işini büyük ölçüde kolaylaştırabilir. Ve bu hepimiziz.

Şimdi en ilginç kısma geçelim - sniffer programlarına genel bir bakış.

Yukarıda, fiziksel cihazlar şeklinde yapılabileceğini anladık, ancak çoğu durumda özel olanlar kullanılıyor.

Onları inceleyelim.

Sniffer programları

İşte en popüler bu tür programların bir listesi:

İletişim Görünümü... Listemizdeki herkes gibi program ücretlidir. Bir minimum lisans ücreti 300 ABD dolarıdır. Ancak yazılım en zengin işlevselliğe sahiptir. Kayda değer ilk şey, kuralları kendiniz belirleme yeteneğidir. Örneğin, (bunlar protokollerdir) tamamen yok sayılacak şekilde yapabilirsiniz. Programın, iletilen tüm paketlerin ayrıntılarını ve günlüğünü görüntülemenize izin vermesi de dikkat çekicidir. Normal bir sürüm ve bir Wi-Fi sürümü var.

SpyNet. Bu aslında hepimizin bıktığı Truva atı. Ancak yukarıda bahsettiğimiz asil amaçlar için de kullanılabilir. Program trafikte olan ve ile kesişir. Birçok sıra dışı özellik var. Örneğin, "kurbanın" ziyaret ettiği İnternet sayfalarını yeniden oluşturabilirsiniz. Bu yazılımın ücretsiz olması dikkat çekicidir, ancak onu bulmak kolay değildir.

buttniffer. Bu, ağ paketlerini analiz etmeye yardımcı olan ve diğer kişilerin şifrelerini ve tarayıcı geçmişini engellemeyen saf bir dinleyicidir. En azından yazarın düşündüğü buydu. Aslında onun yaratılışı kullanılıyor, nedenini kendin anlıyorsun. Bu, komut satırı üzerinden çalışan yaygın bir toplu iş programıdır. Başlamak için iki dosya yüklenir ve çalıştırılır. Yakalanan paketler, çok uygun olan sabit diske kaydedilir.

Orada başka birçok sniffer programı var.Örneğin, fsniff, WinDump, dsniff, NatasX, NetXRay, CooperSniffer, LanExplorer, Net Analyzer ve diğerleri bilinmektedir. Herhangi birini seç! Ancak CommView'in en iyisi olduğunu söylemek doğru olur.

Böylece, koklayıcıların ne olduğunu, nasıl çalıştıklarını ve ne olduklarını belirledik.

Şimdi bir hacker veya sistem yöneticisinin yerinden sıradan bir kullanıcının yerine geçelim.

Verilerimizin çalınabileceğinin farkındayız. Bunun olmasını önlemek için ne yapmalı? Burada). Çok basit bir şekilde çalışır - ağı her türlü casus için tarar ve bulunursa raporlar. Bu, kendinizi siber saldırılardan korumanızı sağlayan en basit ve en anlaşılır ilkedir.

3 PromiScan'i kullanın.Özellikleri ve görevleri açısından, bu program Windows için AntiSniff'e çok benzer, bu yüzden bunlardan birini seçin. Web'de de birçok indirme bağlantısı var (işte bir tane). Aynı ağa bağlı bilgisayarları uzaktan kontrol etmenizi sağlayan yenilikçi bir programdır. Çalışma prensibi, ağda olmaması gereken düğümleri belirlemektir. Aslında, bunlar büyük olasılıkla koklayıcılardır. Program onları algılar ve bunu anlamlı bir mesajla bildirir. Çok rahat!.

4 Kriptografi kullanın, ve dağıtılırsa, bir ortak anahtar şifreleme sistemi. Özel bir şifreleme veya elektronik imza sistemidir. Onun "hilesi", anahtarın herkese açık olması ve herkesin görebilmesidir, ancak bu, ağdaki tüm bilgisayarlarda aynı anda yapılması gerektiğinden, verileri değiştirmek imkansızdır. Mükemmel bir yöntem - bir hırsız için yem gibi. İçinde böyle bir sistemin kullanıldığı blok zinciri hakkında bilgi edinebilirsiniz.

5 Şüpheli programları indirmeyin, şüpheli siteleri ziyaret etmeyin vb. Her modern kullanıcı bunu bilir, ancak truva atları ve diğer kirli hilelerin işletim sisteminize girmesi için ana yol bu yoldur. Bu nedenle, genel olarak İnterneti kullanma konusunda çok sorumlu olun!

Başka sorularınız varsa, aşağıdaki yorumlarda onlara sorun.

Umarız her şeyi basit ve anlaşılır bir dilde anlatabilmişizdir.

Bir dinleyiciye trafik analizörü de denir - ağ trafiğini yakalayan ve ardından analiz eden bir program veya başka bir donanım cihazıdır. Şu anda, bu programların tamamen yasal bir gerekçesi var, bu nedenle ağda yaygın olarak kullanılıyorlar, ancak hem iyi hem de zarar için kullanılabilirler.

Kökenlerinin geçmişi, bilgisayar korsanlarının, o zamanlar çok zayıf bir şekilde şifrelenmiş olan bir kullanıcı adı ve şifreyi kolayca yakalamak için bu tür yazılımları kullanabildikleri 90'lı yıllara kadar uzanıyor.

Sniffer kelimesi İngilizce'den gelmektedir. koklamak - koklamak, çalışma prensibi bu programın kayıtlar ve analizler bilgi paketleri ileten makinelere yüklenen programlar. Okuma işleminin etkili olması için ana bilgisayara yakın olması gerekir.

Programcılar bu uygulamayı kullanır trafik analizi için, diğer hedefler ağdaki bilgisayar korsanları tarafından takip edilir, sadece ihtiyaç duydukları şifreleri veya diğer bilgileri ararlar.

Trafik analizörü türleri

Sniffer'lar türlerde farklılık gösterir, çevrimiçi uygulamalar veya doğrudan bir bilgisayara yüklenen uygulamalar olabilir ve bu da donanım ve bellenime ayrılır.

Çoğu zaman kullanılırlar şifreleri ele geçirmek, uygulama şifreli bilgilerin kodlarına erişim kazanırken. Bu, kullanıcıya büyük rahatsızlık verebilir, çünkü çoğu zaman aynı şifrelerin birkaç program veya site için ayarlandığı ve sonuçta gerekli kaynaklara erişimin kaybedilmesine yol açtığı durumlar vardır.

İşlemci gücünü kullanmadan her zaman bilgi okumak zor olduğundan, RAM'in anlık görüntüsünü yakalamak için kullanılan bir tür koklama vardır. casusu tespit et işlem sırasında bilgisayarın maksimum dosya yükünü izleyerek mümkündür.

Başka bir program türü, büyük bir veri iletim kanalıyla çalışır, haşere her gün 10 megabayta kadar protokol üretebilir.

Nasıl çalışır

Analizörler yalnızca TCP / IP protokolleriyle çalışır, bu tür programların, örneğin İnternet'i dağıtan yönlendiriciler gibi kablolu bir bağlantıya ihtiyacı vardır. Veri aktarımı, nihai hedefe ulaşıldığında bir kez daha tek bir bütün haline gelen bireysel paketler kullanılarak gerçekleştirilir. Ayrıca, iletimin herhangi bir aşamasında paketleri yakalayabilir ve bununla birlikte güvenli olmayan parolalar şeklinde değerli bilgiler alabilirler. Her durumda, dekoder programlarının yardımıyla, korumalı bir şifreye bile bir anahtar elde etmek mümkündür.

WiFi dinleyicilerini kullanmanın en kolay yolu, güvenliği zayıf ağlarda - kafelerde, halka açık yerlerde vb.

Bu programları kullanan sağlayıcılar yetkisiz erişimi takip et harici sistem adreslerine.

Kendinizi koklayıcılardan nasıl korursunuz

Birinin yerel ağa girdiğini anlamak için öncelikle şunlara dikkat etmelisiniz. paket indirme hızı beyan edilenden önemli ölçüde düşükse, bu endişe verici olmalıdır. Bilgisayar performansı Görev Yöneticisi kullanılarak izlenebilir. Özel yardımcı programları kullanabilirsiniz, ancak çoğu zaman Windows güvenlik duvarı ile çakışırlar, bu nedenle bir süreliğine kapatmak daha iyidir.

Sistem yöneticileri için yerel ağdaki trafik analizörlerini kontrol etmek ve bulmak bir zorunluluktur. Zararlı uygulamaları tespit etmek için hem uzak ana bilgisayarlarda hem de doğrudan yerel ağda zararlıları tespit edebilen Doctor Web veya Kaspersky Anti-Virus gibi iyi bilinen ağ antivirüslerini kullanabilirsiniz.

Bir bilgisayara basitçe yüklenen özel uygulamalara ek olarak, kullanabilirsiniz. daha karmaşık şifreler ve kriptografik sistemler. Kriptografik sistemler, doğrudan bilgi ile çalışır ve elektronik imza kullanarak şifreler.

Uygulamaya genel bakış ve temel özellikler

İletişim Görünümü

CommView iletilen bilgi paketlerinin kodunu çözer, kullanılan protokollerin istatistiklerini diyagramlar şeklinde görüntüler. Trafik dinleyicisi, IP paketlerini ve gerekli olanları analiz etmenize olanak tanır. Windows için Sniffer bilinen protokollerle çalışır: HTTP, HTTPS, DHCP, DDNH, DIAG, POP3, TCP, WAP, vb. CommView Ethernet, wi-fi ve diğer modemlerle çalışır. Paketler, " AkımIP-bağlantılar", Adres takma adları oluşturabileceğiniz yer.

sekmesi " Paketler»Onlar hakkındaki bilgileri panoya kopyalanabilirken yansıtır.

« KAYIT-Dosyalar»Paketleri NFC formatında görüntülemenizi sağlar.

sekmesi " tüzük". Burada paket yakalama koşullarını ayarlayabilirsiniz. Bu sekmenin bölümleri: IP adresleri, MAC adresleri, Bağlantı Noktaları, İşlem, Formüller ve Bireysel parametreler.

« Bir uyarı»: Yerel ağda bildirimlerin ayarlanmasını sağlar, Ekle düğmesini kullanarak çalışır. Burada koşulları, olay türlerini ayarlayabilirsiniz:

  • "Saniyedeki paket sayısı" - ağ yük seviyesi aşıldığında.
  • "Saniyede bayt" - veri iletim frekansı aşıldığında.
  • "Bilinmeyen adres", yani yetkisiz bağlantıların tespiti.

sekmesi " görüş»- trafik istatistikleri burada görüntülenir.

CommView, Windows 98, 2000, XP, 2003 ile uyumludur. Uygulamayı çalıştırmak için bir Ethernet adaptörü gereklidir.

Avantajlar: Rusça kullanıcı dostu arayüz, yaygın ağ bağdaştırıcısı türlerini destekler, istatistikler görselleştirilir. Dezavantajlar sadece yüksek fiyatı içerir.

Spynet

Spynet, paket kod çözme ve müdahale işlevlerini gerçekleştirir. Yardımı ile kullanıcı tarafından ziyaret edilen sayfaları yeniden oluşturabilirsiniz. CaptureNet ve PipeNet olmak üzere 2 programdan oluşur. Yerel bir ağda kullanmak uygundur. CaptureNet veri paketlerini tarar, ikinci bir program süreci izler.

Arayüz oldukça basit:

  • Buton değiştir Filtre- filtreleri ayarlama.
  • Buton Katman 2,3 - Flame - IP protokollerini kurar; Katman 3 - TCP.
  • Buton Desen Eşleştirme Belirtilen parametrelere sahip paketleri arar.
  • Buton IPadresler ilgilenilen bilgileri taşıyan gerekli IP adreslerini taramanıza izin verir. (Seçenek 1-2, 2-1, 2 = 1). İkinci durumda, tüm trafik.
  • Buton Limanlar, yani, bağlantı noktası seçimi.

Verileri kesmek için, Yakalama Başlat programını çalıştırmanız gerekir, yani veri yakalama işlemi başlatılır. Kaydedilen bilgileri içeren dosya, yalnızca Dur komutundan, yani yakalama eylemlerinin sona ermesinden sonra kopyalanır.

Spynet'in avantajı, kullanıcının ziyaret ettiği web sayfalarının kodunu çözme yeteneğidir. Bulmak oldukça zor olsa da program ücretsiz olarak da indirilebilir. Dezavantajlar, Windows'ta küçük bir dizi özellik içerir. Windows XP, Vista'da çalışır.

buttniffer

BUTTSniffer, ağ paketlerini doğrudan analiz eder. Çalışma prensibi, iletilen verilerin ele geçirilmesi ve bunları çok uygun olan medyaya otomatik olarak kaydetme yeteneğidir. Bu programın başlatılması gerçekleşir komut satırı aracılığıyla... Filtre seçenekleri de var. Program BUTTSniff.exe ve BUTTSniff'ten oluşur. dll.dll

BUTTSniffer'in önemli dezavantajları arasında kararsız çalışma, işletim sisteminin yıkılmasına kadar sık ​​görülen arızalar (mavi ölüm ekranı) sayılabilir.

Bu sniffer programlarına ek olarak, daha az ünlü olmayan daha birçok program var: WinDump, dsniff, NatasX, NetXRay, CooperSniffer, LanExplorter, Ne Analyzer.

Ayrıca, kurbanın IP adresini almanın yanı sıra, saldırganın IP adresini doğrudan değiştiren çevrimiçi sniffer'lar da vardır. Onlar. Saldırgan önce bir IP adresi altında oturum açar, kurbanın bilgisayarına indirilmesi gereken bir resim veya sadece açılması gereken bir e-posta gönderir. Bundan sonra, bilgisayar korsanı gerekli tüm verileri alır.

Başka birinin bilgisayarının verilerine müdahalenin ceza gerektiren bir suç olduğunu hatırlamakta fayda var.

Bu yazıda, Windows için basit bir sniffer oluşturmaya bakacağız.
Kimin umurunda, kediye hoş geldiniz.

Tanıtım

Hedef: IP üzerinden iletilen ağ trafiğini (Ethernet, WiFi) yakalayacak bir program yazın.
Para kaynağı: Visual Studio 2005 veya üstü.
Burada açıklanan yaklaşım kişisel olarak yazara ait değildir ve birçok ticari ve kategorik olarak ücretsiz programlarda (merhaba, GPL) başarıyla uygulanmaktadır.
Bu çalışma öncelikle ağ programlamada yeni başlayanlar için tasarlanmıştır, ancak genel olarak soketler ve özellikle windows soketleri hakkında en azından temel bilgilere sahiptir. Burada sık sık bilinen şeyler yazacağım çünkü konu alanı belirli, bir şeyi kaçırırsan kafamda bir karışıklık olur.

Umarım bunu ilginç bulursun.

Teori (okunması zorunlu değil ama istenir)

Şu anda, modern bilgi ağlarının büyük çoğunluğu, TCP / IP protokol yığınının temeline dayanmaktadır. TCP/IP protokol yığını (İngilizce İletim Kontrol Protokolü/İnternet Protokolü), ağlarda kullanılan farklı katmanların ağ protokollerinin toplu adıdır. Bu makalede, esas olarak IP protokolü ile ilgileneceğiz - bir ağ düğümünden diğerine sözde paketlere bölünmüş (daha doğru bir terim bir datagramdır) verilerin garanti edilmeyen teslimi için kullanılan yönlendirilebilir bir ağ protokolü.
Bizi özellikle ilgilendiren, bilgi aktarmaya yönelik IP paketleridir. Bu, cihazdan ve veri iletim ortamından incelemenin mümkün olduğu, yalnızca mantıksal bir temsille çalışan OSI ağ veri modelinin oldukça yüksek bir seviyesidir.
Er ya da geç ağ trafiğini engelleme, izleme, hesaplama ve analiz etme araçlarının ortaya çıkması oldukça mantıklı. Bu tür araçlara genellikle trafik analizörleri, paket analizörleri veya sniffers denir (İngilizce'den sniff - sniff'e). Bu, bir ağ trafiği analizörü, bir program veya donanım ve yazılım cihazı olup, araya girip ardından analiz etmek veya yalnızca diğer düğümlere yönelik ağ trafiğini analiz etmek için tasarlanmıştır.

Pratik yapın (konuyu doğru konuşun)

Şu anda trafiği dinlemek için bir çok yazılım oluşturulmuştur. Bunların en ünlüsü: Wireshark. Doğal olarak, amaç defne toplamak değil - ağ arayüzünü sıradan "dinleme" yöntemiyle trafiği engelleme göreviyle ilgileniyoruz. Bilgisayar korsanlığı ve müdahaleye girmeyeceğimizi anlamak önemlidir. yabancı trafik. Sadece sunucumuzdan geçen trafiği görüntülemeniz ve analiz etmeniz yeterlidir.

Neden ihtiyacınız olabilir:

  1. Ağ bağlantısı üzerinden mevcut trafik akışını izleyin (gelen / giden / toplam).
  2. Daha fazla analiz için trafiği başka bir ana bilgisayara yönlendirin.
  3. Teorik olarak, bir WiFi ağını hacklemek için kullanmayı deneyebilirsiniz (bunu yapmayacağız, değil mi?).
Libpcap / WinPcap kitaplığını temel alan Wireshark'ın aksine, analizörümüz bu sürücüyü kullanmayacaktır. Gerçekten orada olan şey, hiç bir sürücümüz olmayacak ve kendi NDIS'imizi yazmayacağız (oh dehşet!). Bu konu hakkında okuyabilirsiniz. Kullanarak sadece pasif bir gözlemci olacak bir tek WinSock kitaplığı. Bu durumda sürücünün kullanımı gereksizdir.

Nasıl yani? Çok basit.
Basit bir ağ uygulamasını bir ağ çözümleyicisine dönüştürmenin önemli bir adımı, ağ arabirimini, ağdaki diğer arabirimlere yönelik paketleri almasına izin verecek şekilde karışık moda koymaktır. Bu mod, ağ kartını, ağda kime yönlendirildiklerine bakılmaksızın tüm çerçeveleri kabul etmeye zorlar.

Windows 2000'den (NT 5.0) başlayarak, bir ağ kesimini dinlemek için bir program oluşturmak çok kolay hale geldi, çünkü ağ sürücüsü, tüm paketleri almak için soketi değiştirmenize izin verir.

Karışık modu etkinleştirme
uzun bayrak = 1; SOKET soketi; #define SIO_RCVALL 0x98000001 ioctlsocket (soket, SIO_RCVALL ve RS_Flag);
Programımız IP paketleri üzerinde çalışmakta ve Windows Sockets 2.2 kitaplığı ve ham soketleri kullanmaktadır. Bir IP paketine doğrudan erişim sağlamak için aşağıdaki gibi bir soket oluşturulması gerekir:
Ham soket oluşturma
s = soket (AF_INET, SOCK_RAW, IPPROTO_IP);
Burada sabit yerine SOCK_STREAM(TCP protokolü) veya SOCK_DGRAM(UDP protokolü), değeri kullanıyoruz SOCK_RAW... Genel olarak konuşursak, ham soketlerle çalışmak sadece trafik yakalama açısından ilginç değildir. Aslında, paketin oluşumu üzerinde tam kontrole sahibiz. Bunun yerine, örneğin belirli bir ICMP paketinin gönderilmesine izin veren manuel olarak oluştururuz ...

Devam et. Bir IP paketinin bir başlık, hizmet bilgisi ve aslında verilerden oluştuğu bilinmektedir. Bilginizi tazelemek için buraya bakmanızı tavsiye ederim. IP başlığını yapılandıralım (RSDN'deki mükemmel makale sayesinde):

IP paketinin yapısının açıklaması
typedef struct _IPHeader (unsigned char ver_len; // başlığın versiyonu ve uzunluğu unsigned char tos; // hizmet tipi unsigned kısa uzunluk; // tüm paketin uzunluğu unsigned kısa id; // Id unsigned kısa flgs_offset; // flags ve ofset imzasız char ttl ; // ömür boyu imzasız karakter protokolü; // protokol imzasız kısa xsum; // sağlama toplamı imzasız uzun kaynak; // gönderen IP adresi imzasız uzun hedef; // hedef IP adresi imzasız kısa * params; // parametreler ( 320 bite kadar) unsigned char * data; // data (65535 sekizliye kadar)) IPHeader;
Dinleme algoritmasının ana işlevi şöyle görünecektir:
Tek paket yakalama işlevi
IPHeader * RS_Sniff () (IPHeader * hdr; int sayı = 0; sayı = recv (RS_SSocket, (char *) & RS_Buffer, sizeof (RS_Buffer), 0); if (count> = sizeof (IPHeader)) (hdr = ( LPIPHeader ) malloc (MAX_PACKET_SIZE); memcpy (hdr, RS_Buffer, MAX_PACKET_SIZE); RS_UpdateNetStat (sayım, hdr); dönüş hdr;) yoksa 0 döndürür;)
Burada her şey basit: standart soket işlevini kullanarak bir veri parçası alıyoruz tekrar ve sonra bunları aşağıdaki gibi bir yapıya kopyalayın IPBaşlığı.
Son olarak, sonsuz bir paket yakalama döngüsü başlatıyoruz:
Ağ arayüzümüze giden tüm paketleri yakalayın
while (true) (IPHeader * hdr = RS_Sniff (); // IP paketi if (hdr) işleniyor (// konsolda başlığı yazdır))
biraz offtopik
Bundan sonra, bazı önemli işlevler ve değişkenler RS_ ile (Ham Soketlerden) önek olarak alınmıştır. Proje 3-4 yıl önce yapıldı ve ham soketlerle çalışmak için tam teşekküllü bir kütüphane yazmak için çılgın bir fikir vardı. Çoğu zaman olduğu gibi, (yazar için) bazı önemli sonuçlar elde ettikten sonra, coşku kayboldu ve vaka vaka çalışmasının ötesine geçmedi.

Prensip olarak, daha ileri gidebilir ve yukarıdaki tüm sonraki protokollerin başlıklarını tanımlayabilirsiniz. Bunu yapmak için alanı analiz etmeniz gerekir. protokol yapıda IPBaşlığı... Örnek koda bakın (evet, bir anahtar olmalı, kahretsin!), Başlık, IP kapsüllü paketin hangi protokole sahip olduğuna bağlı olarak renklendirilir:

/ * * Paketi color ile vurgulama * / void ColorPacket (const IPHeader * h, const u_long haddr, const u_long whost = 0) (if (h-> xsum) SetConsoleTextColor (0x17); // eğer paket boş değilse SetConsoleTextColor (0x07) ; // boş paket if (haddr == h-> src) (SetConsoleTextColor (BACKGROUND_BLUE | / * BACKGROUND_INTENSITY | * / FOREGROUND_RED | FOREGROUND_INTENSITY); // "yerel" yayın paketi) else if (haddr == h -> hedef ) (SetConsoleTextColor (BACKGROUND_BLUE | / * BACKGROUND_INTENSITY | * / FOREGROUND_GREEN | FOREGROUND_INTENSITY); // "native" alma paketi) if (h-> protokolü == PROT_ICMP || metin h-> protokolü == PROT_IGMP) (Ayarla) ; // ICMP paketi) else if (h-> protokolü == PROT_IP || h-> protokolü == 115) (SetConsoleTextColor (0x4F); // IP-in-IP paketi, L2TP) else if (h- > protokolü == 53 || h-> protokolü == 56) (SetConsoleTextColor (0x4C); // TLS, Şifrelemeli IP) if (whost == h-> hedef || whost == h-> src) (SetConsoleTextColor (0x0A) );))

Ancak, bu önemli ölçüde bu makalenin kapsamı dışındadır. Eğitim örneğimiz için trafiğin geldiği ve gittiği hostların ip adreslerine bakıp birim zamandaki miktarını hesaplamanız yeterli olacaktır (bitmiş program programın sonunda arşivdedir). makale).

IP başlık verilerini görüntülemek için, verikatarının başlığını (ama verileri değil) bir dizgeye dönüştürmek için bir işlev uygulamanız gerekir. Bir uygulama örneği olarak, aşağıdaki seçeneği sunabiliriz:

IP başlığını dizeye dönüştür
satır içi karakter * iph2str (IPHeader * iph) (const int BUF_SIZE = 1024; char * r = (char *) malloc (BUF_SIZE); memset ((void *) r, 0, BUF_SIZE); sprintf (r, "ver =% d hlen =% d tos =% d len =% d id =% d flags = 0x% X offset =% d ttl =% dms prot =% d crc = %0x% X src =% s hedef =% s ", BYTE_H (iph-> ver_len), BYTE_L (iph-> ver_len) * 4, iph-> tos, ntohs (iph-> uzunluk), ntohs (iph-> id), IP_FLAGS (ntohs (iph-> flgs_offset)), IP_OFFSET (ntohs (iph-> flgs_offset)), iph-> ttl, iph-> protokolü, ntohs (iph-> xsum), nethost2str (iph-> src), nethost2str (iph-> hedef)); return r;)
Yukarıdaki temel bilgilere dayanarak, yerel IP trafiğini dinlemeyi uygulayan çok küçük bir program (ürpertici isim ss, İngilizce basit dinleyiciden kısaltılmıştır) elde ederiz. Arayüzü şekilde aşağıda gösterilmiştir.

Birkaç yıl önce olduğu gibi kaynak ve ikili kodu olduğu gibi sağlıyorum. Şimdi bakmaya korkuyorum ama yine de oldukça okunaklı (tabii ki bu kadar özgüvenli olamazsınız). Derleme için Visual Studio Express 2005 bile yeterli olacaktır.

Sonunda elde ettiğimiz şey:

  • Sniffer, kullanıcı modunda çalışır ancak yönetici ayrıcalıkları gerektirir.
  • Paketler filtrelenmez, oldukları gibi görüntülenir (özel filtreler ekleyebilirsiniz - ilgileniyorsanız bir sonraki makalede bu konuya daha yakından bakmanızı öneririm).
  • WiFi trafiği de kaydedilir (hepsi belirli çip modeline bağlıdır, birkaç yıl önce benim için yaptığı gibi sizin için çalışmayabilir), ancak bunu harika bir şekilde yapabilen AirPcap olmasına rağmen, maliyeti yüksektir.
  • Tüm datagram akışı bir dosyaya kaydedilir (makalenin sonunda ekli arşive bakın).
  • Program, 2000 numaralı bağlantı noktasında bir sunucu olarak çalışır. Ana bilgisayara bağlanmak ve trafik akışlarını izlemek için telnet yardımcı programını kullanabilirsiniz. Bağlantı sayısı yirmi ile sınırlıdır (kod benim değil, ağın genişliğinde buldum ve deneyler için kullandım; silmedim - yazık)
İlginiz için teşekkür ederim, Habrovitleri ve Khabrovitleri ve herkesi, herkesi, herkesi tebrik ediyorum, Mutlu Noeller!

Ekibin her biri] [yazılım ve yardımcı programlar açısından kendi tercihlerine sahiptir.
kalem testi. Biraz tartıştıktan sonra, seçimin o kadar farklı olduğunu öğrendik ki,
gerçek bir centilmenlik kanıtlanmış programlar seti oluşturun. Bunun üzerine ve
karar verilmiş. Ulusal bir karışıklık yaratmamak için tüm listeyi konulara ayırdık - ve
bu sefer koklama ve paket işleme yardımcı programlarına değineceğiz. Kullanmak
sağlık.

tel köpekbalığı

ağ kedisi

Veri yakalama hakkında konuşursak, o zaman ağ madenci havayı kaldıracak
(veya PCAP formatında önceden hazırlanmış bir dökümden) dosyalar, sertifikalar,
yetkilendirme için görüntüler ve diğer medyaların yanı sıra şifreler ve diğer bilgiler.
Yararlı bir özellik, verilerin anahtar kelimeleri içeren bölümlerinin aranmasıdır.
(örneğin, kullanıcı adı).

ürkütücü

Alan:
www.secdev.org/projects/scapy

Her bilgisayar korsanının sahip olması gereken, güçlü bir araç
etkileşimli paket manipülasyonu. Çoğu paketi alın ve kodunu çözün
farklı protokoller, isteği yanıtlayın, değiştirilmiş enjekte edin ve
kendi yarattığınız paket - her şey çok kolay! Onun yardımı ile bir bütün gerçekleştirebilirsiniz.
tarama, tracorute, saldırı ve algılama gibi bir dizi klasik görev
ağ altyapısı. Bir şişede, bu tür popüler yardımcı programların yerine yenisini alıyoruz,
gibi: hping, nmap, arpspoof, arp-sk, arping, tcpdump, tetheral, p0f, vb. Onda
aynı zamanda ürkütücü herhangi birini, hatta en spesifik olanı gerçekleştirmenizi sağlar
zaten başka bir geliştirici tarafından oluşturulmuş asla yapılamayan bir görev
anlamına geliyor. C'de bir dizi satır yazmak yerine, örneğin,
yanlış paketi oluştur ve bazı arka plan programlarını karıştır, bu yeterli
kullanarak birkaç satır kod atın ürkütücü! program yok
grafik arayüz ve etkileşim, yorumlayıcı aracılığıyla sağlanır.
Python. Biraz alışacaksınız ve yanlış yaratmanız size hiçbir şeye mal olmayacak.
paketler, istenen 802.11 çerçevelerini enjekte eder, saldırılarda farklı yaklaşımları birleştirir
(ARP önbellek zehirlenmesi ve VLAN atlamasını söyleyin) vb. Geliştiricilerin kendileri ısrar ediyor
Scapy'nin yeteneklerinin başka projelerde kullanılmasını sağlamak. Bağlamak
modül olarak, çeşitli yerel araştırma türleri için bir yardımcı program oluşturmak kolaydır,
güvenlik açıklarını arama, Wi-Fi enjeksiyonu, belirli
görevler vb.

paket

Alan:
Platform: * nix, Windows için bir bağlantı noktası var

Bir yandan herhangi bir şey üretmeye izin veren ilginç bir gelişme.
ethernet paketi ve diğer yandan, hedefle paket dizileri gönderir
bant genişliği kontrolleri. Diğer benzer araçlardan farklı olarak, paket
Paketleri mümkün olan en basit şekilde oluşturmanıza olanak tanıyan grafiksel bir arayüze sahiptir
biçim. Üstelik. oluşturulması ve gönderilmesi
paket dizileri. Gönderiler arasında gecikmeler ayarlayabilirsiniz,
verimi kontrol etmek için paketleri maksimum hızda gönderin
ağın bir bölümü (evet, fatura alacakları yer burası) ve daha da ilginç olanı -
paketlerdeki parametreleri dinamik olarak değiştirin (örneğin, IP veya MAC adresi).