rfc evet kesinlikle okumanizi onerirm hafif bi dili var hersey anlatilior orda aslinda http://www. rfc-editor.

Benim bildiğim kadarıyla da Windowsda spoofing yapılmıyor . Ama Wildboy arkadaşımın dediği gibi Türkiye'de bunu yılllar önce Aggressor programı yapıyordu. Dünyada da ilk idi zannedersem. Winsock kullanmadan modeme veya ethernet kartına direk ulaşıyordu. Kendi ppp, ndis driverleri ile.

ehe nası yapamıyorsun? xp'de arp spoof bile yapılabiliyor ki ip header'daki src address ile hayli hayli yapılır

hicbir win versionunda src addr spoof yapilamaz winsock ile.. adamlar sonucta nuketool yazsinlar diye yapmamislar winsocku.. bunun gibi src ve dest de ayni olamaz iphdr de.. ama tum bunlar yapilabilir winxp veya 2000de ndis driver kullanilarak veya dialup modeme direk ppp paket yazarak.. ndis driver ile de ethernete 802.3 frame ile 2000 bytelik buffer olusturursn sirasiyla eth ip ve tcp/icmp/udp hdrlarini yazip yollarsn winsock kullanmadn sorunu asmis olursn.. esasen bu yontem icin nix socketlerde ndis kullanmaya gerek yok cunku nix socketler socket fonksiyonunda SOCK_PACKET kullanilabilio yani direk byte paket yazmak icn

dokuman tam aradığım turdendi eline sağlık cevaplara bakıyorumda ustalar baya bilgiliymiş hoş cevaplar

güzel hoş fakat tabii ki eksik. Windows 2000'de tam WinXP'de hiç desteklenmez. hemen XP örneği vereyim diyelim, IP spoofing yapmaya çalışıyorsun ve yaptığını SANIYORSUN. Neden sanıyorsun? çünkü WinXP IP Header'deki source IP bölümünu düzeltiyor

Eskiden raw socketler sadece unix, linux gibi işletim sistemleri tarafından destekleniyordu. Artık bu destek Windows 2000'de kısmen, Windows XP'de ise tam olarak var. Raw socketleri öğrenmeye başlamadan önce internette gelip giden paketlerin yapısına kısaca bir göz atalım. Örneğin bir ping attığımızda hedefe sırası ile: -> 20 bytelık bir ip başlığı -> 8 bytelık bir icmp başlığı -> Ekstra veri içeren bir paket göndermiş oluruz. Bu paketteki ip başlığı normal bir socket'de işletim seti tarafından oluşturulmakta ve işlenmektedir. Şayet bu ip başlığını kendimiz oluşturmak ve işlemek istersek işletim setine kendi ip başlığını oluşturmaması gereken bir komut göndermemiz gerekmektedir. İşte işletim seti bu komutu destekliyorsa bu işletim setinin raw socket desteği var diyebiliriz. Artık ip başlığının yapısını incelemeye başlayalım: type PIPhdr = ^TIPhdr; TIPhdr = packed record ip_verlen: byte; // Sürüm + İnt Başlık uzunluğu ip_tos: Byte; // Servis Türü ip_len: Word; // Toplam uzunluk ip_id: Word; // Kimlik ip_off: Word; // Bayrak + Parçalanma Ötelemesi ip_ttl: Byte; // Yaşam Süresi ip_p: Byte; // Protokol ip_sum: Word; // Başlık Kontrolü ip_src: Cardinal; // Kaynak Adres ip_dst: Cardinal; // Hedef Adres // Seçimlik // Doldurma biti end; - ip_verlen : İlk 4 biti Sürüm , kalan 4 biti de İnternet Başlık uzunluğu bölümü olmak üzere toplam 8 bittir ve 2 ana bölümden oluşur. > Sürüm : İnternet başlığının sürümünü verir. Biz burada sürüm 4 ile ilgileneceğiz. Sürümün alabileceği değerler şunlardır: 4: IP, Internet Protocol 5: ST, ST Datagram Mode 6: - SIP, Simple Internet Protocol - SIPP, Simple Internet Protocol Plus - IPv6, Internet Protocol 7: TP/IX, The Next Internet 8: PIP, The P Internet Protocol 9: TUBA > İnternet Başlık Uzunluğu : İnternet başlığının toplam uzunluğu sabit olmadığından IHL internet başlık uzunluğunu verir. Bu alan bilgisi maksimum değeri olan 15 ise toplam başlık uzunluğu 60 bayt demektir. - Servis Türü : Üst düzey protokollerin IP ye datagramın nasıl ele alınması gerektiğini belirtir. Bu alanın ilk 3 biti öncelik bitlerinden oluşur. Öncelik bitleri paketlerin önemini 0 7 arasında değerler vererek belirtir. Daha sonraki 3 biti D, T, R bitleridir. Bunlar OSPF protokolü tarafından sıkça kullanılır. Kalan 2 bit ise kullanılmamaktadır. "Öncelik" : 0: Routine 1: Priority 2: Immediate 3: Flash 4: Flash override 5: CRITIC/ECP 6: Internetwork control 7: Network control "D" : 0: Normal delay 1: Low delay D biti set edilirse (1 yapılırsa), IP paketi düşük gecikmeler ister. Böyle bir paket örneğin ses verisi taşıyabilir ve az gecikmeli bir hat üzerinde taşınması gerekir. "T" : 0: Normal throughput 1: High throughput T biti set edilirse yüksek aktarım performansı isteniyor demektir. Bu yolla büyük dosyaların aktarılma yeteneği artmış olur. "R" : 0: Normal reliability 1: High reliability R biti set edilirse yüksek güvenilirlik isteniyor anlamına gelir. Böyle bir paket hata toleranslı bir ağ üzerinden önemli bir bilgi işlem uygulaması verisi taşıyabilir. - Toplam uzunluk : IP paketinin toplam uzunluğudur . Maksimum uzunluk 65535 bayt tır. Günümüzde bu üst limit yeterlidir ancak gelecekte gigabit ler mertebesinde uzunluklara gerek olacaktır. - Kimlik : Kaynak host tarafından IP paketlerine verilen numaradır. Parçalanmış paketlerin tekrar birleştirilmesinde kullanılır. - ip_off : İlk 3 biti "Flags", kalan 13 biti de "Fragment Offset" bölümü olmak üzere toplam 2 ana bölümden oluşmuştur. > Bayrak : Parçalama kontrolünde kullanılır. Bir datagram parçalanıp parçalanmadığı, onun parçalanma izninin olup olmadığı gibi bilgilere ait kodlar taşır. Bayrak 'in yapısı şu şekildedir. 0. bit: Bu bit kullanılmaz. Daima 0'dır. 1. bit: DF biti. -> 0: Parçalanma izni var. -> 1: Asla parçalanmaz . 2. bit: MF biti. -> 0: Son parça. -> 1: Başka parça da var . > Parçalanma Ötelemesi : Eğer bir datagram parçalanmışsa, parçalanmış datagramın bu parçasının orijinal datagramın neresine karşılık geldiğinin tespit edilmesini sağlar. Parçalanma ötelemesi için 13 bit ayrıldığından datagram başına maksimum 8192 parça olabilir. - Yaşam Süresi : İnternette bir IP paketinin yaşam zamanını belirler. Bu zaman sonunda, IP paketi en son bulunduğu host üzerinde yok edilir. Bir paketin maksimum ömrü 255 saniyedir. TTL alanı sıfır olduğunda IP paketi yok edilir ve kaynak hosta ICMP aracılığı ile bir uyarı paketi gönderilir. Böylece sorunlu paketlerin internette sonsuza kadar dolaşmaları önlenmiş olur. - Protokol : Bir üst katman protokolüne ilişkin kodları içerir. Bu kodlar gelen paketin aktarım katmanı protokollerinden hangisine iletileceğini bildirir. Protokol kodlamasının tam açıklaması RFC(1700) adlı teknik raporda bulunabilir. 1: ICMP, 2: IGMP, 6: TCP 17: UDP gibi... - Başlık Kontrolü : Sadece başlık için bozulmaya karşı bir koruma önlemi sağlar. TTL alanı sürekli değiştiğinden her hostta checksum değerinin yeniden hesaplanması gerekir. Yönlendiricinin içindeki kötü bellek kelimeleri nedeniyle oluşabilecek hataları algılamada da faydalı bir işlevi vardır. - Kaynak Adres : Kaynak adresidir. 32 bitlik bir IP adresi ile doldurulur. - Hedef Adres : Hedef adrestir. Hedefe ait 32 bitlik bir IP adresi ile doldurulur. - Seçimlik : Bazı durumlarda kullanılır. Örneğin çok ender rastlanan başlık bitlerini bilgi biti olarak kullanılmasını engellemek için kullanılabilir. - Doldurma Biti : IP başlığının toplam uzunluğunu korumak için kısa başlıklarda, başlık sonuna eklenen sıfırları ifade eder.