• Forum vBulletin altyapısından Xenforo altyapısına geçirildi, bu sebeple eski şifreleriniz ile foruma giriş yapamayacaksınız, parolamı unuttum adımından mailiniz ile şifre sıfırlayarak giriş yapabilirsiniz.

    Üyeliklerinde geçerli bir mail adresi olmadığı için sıfırlama yapamayacak kullanıcılar forum kullanıcı adlarını ve yeni şifrelerini yazarak info@maxigame.org adresine şifre sıfırlamak istediklerine dair bir mail göndersinler şifrelerini sıfırlayıp mail adreslerini güncelleyeceğiz. Şifreniz sıfırlandıktan sonra foruma giriş yapıp tekrar istediğiniz gibi değiştirebilirsiniz.

C# Dili IP Banlama Nasıl Yapılır?

pureLove

future awesome
ViP Üye
Aktiflik
K.Tarihi
29 May 2009
Mesajlar
2,445
Puanı
787
Konum
Fethiye
Selamınaleyküm. Bugün okuldan mezun olmak için gerekli ders olan Sistem Analizi dersinde hoca her birimizden ayrı ayrı program yazmamızı istedi.
Şunu şart koştu aynı tasarım ile 2 farklı dilde programı yazmam gerekiyor. Ben C# ve VB. üzerine yapacağım. Yapacağım programın bazı özellikleri;

-Bilgisayara gelen saldırıyı görebileceğim ve banlayabileceğim bir program yazmak.
-Gelen saldırıları bir veritabanına yazdırmak.
-IP bloklarını kaldırabilmek.

Bu konu hakkında bana yardımcı olabilecek veya yol gösterebilecek bir mümin var mıdır?
@Dentrax @kovboi @Nursis
 
Son düzenleme:
Öncelikle VB ile yazma, Java veya C++ ile yaz diğer seçeneği. Soruların için cevapları biraz uzun, edit geliyor bekle.

Yapacaklarına örnek olarak vSRO ustası Chernobyl* 'in yapmış olduğu bir program var, adı simpleFw, ben onu senin için decompile edip kaynak koduna ulaştım. Aşağıda paylaşacağım.

1) Bilgisayar gelen bağlantıları
2) Bu en kolayı zaten gelen bağlantıları bir veritabanı, json, ini, txt vb. istediğin herşeye kaydedebilirsin rahatlıkla.
3) IP bloklama ve kaldırmak için birden çok seçeneğin var ;

a) "netsh firewall" komutu
b) INetFwRule arayüzünü kullanabilirsin
c) Güvenlik Duvarı Ayarları

a) NETSH FIREWALL Kullanımı

Bu komut INetFwRule 'nin uzun yolu. INetFwRule 'de aynı işi yapıyor, arada fark yok. Sadece hazır kütüphane yazılmış.
INetFwRule kullanarak yapsan, şahsen hoca olsam kolaya kaçtığın için puan kırarım açıkcası. Ödev olmasa kesinlikle bunu öneririm.

Peki Nasıl Kullanılır ?

Kod:
[B][COLOR=#0000ff]netsh advfirewall firewall add rule name="{0}" action=block dir=in interface=any enable=yes  localip=any remoteip={1}[/COLOR][/B]  

[B]{0}[/B] => Kural Adı 
[B]{1}[/B] => IP Adresi

Bu konu ile ilgili çok yararlı ve sorunu çözebilecek bir makale :

https://support.microsoft.com/tr-tr/kb/947709

b) INetFwRule ARAYÜZÜ

Bunu kullanarak güven duvarı'nı istediğin şekilde kontrol edebilirsin.

Properties ve Method Kullanımı

https://msdn.microsoft.com/en-us/library/windows/desktop/aa365344%28v=vs.85%29.aspx

http://stackoverflow.com/questions/...lock-ports-using-firewall-settings-didnt-work

Örnek Kullanımı

http://stackoverflow.com/questions/13385491/adding-an-ip-exception-to-the-firewall


c) Güvenlik Duvarı Kullanımı

Biz burada güvenlik duvarını aç-kapat yapmıyoruz. Nasıl çalıştığını öğrenip ve ona göre işlem yapman gerektiğini hatırlatırım. Paket türlerini, katman türlerini öğrenmen gerekiyor.

Örnek Makale :

https://tr.wikipedia.org/wiki/Güvenlik_duvarı

Peki herşey tamam, peki bağlantıları nasıl analiz edeceğiz ? Burada multi thread socket devreye giriyor. Gelen bağlantıları asenkron ve thread-safe yazılmış bir sınıf ile kontrol edeceksin. Safe olmazsa program çöker, hata çıkar vb. herşey olabilir.

Thread-Safe yazılan bir ödev'e şahsen artıdan fazla puan veririm. Socket varsa thread-safe de olmalıdır.

http://www.codeproject.com/Articles/37976/Writing-Thread-Safe-Code-in-C
https://msdn.microsoft.com/en-us/library/bew39x2a(v=vs.110).aspx

Araştırman gereken anahtar kelime : "async socket"

Kullanabileceğin Örnek Kaynak Kodları Tarafımdan De-Compile edilmiş örnek vsro paket filter programları, bunları indirip incelemeni önereceğim.

https://www.maxigamerz.com/t/232762-exguard-source-code-cracked-by-dealydevil

Yararlı olduğunu düşündüğüm bir konu ;

https://www.maxigamerz.com/t/237630-c-silkroadsecurityapi-kullanimi

Ben bunları biliyorsam hepsinin suçlusu merakımdandır. Ders vs. almadım, belki yanlış birşey vermiş olabilirim. Hoca derste daha iyi anlatıyor olabilir, fakat elimden gelse emin ol ki ardına koymazdım.

SimpleFW Nedir ?

Gelen bağlantıları analiz edip, saldırıyı algılayıp anında blok atan bir programdır.

SimpleFW Source Code

http://www.mediafire.com/download/6ommwvts4ewrzby/simpleFw_Source_Code_by_Dentrax.rar


Eklemeyi Unuttuğun ve Socket hakkında çok iyi bilgi sahibi Cemil : @Sync
 
Son düzenleme:
Öncelikle VB ile yazma, Java veya C++ ile yaz diğer seçeneği. Soruların için cevapları biraz uzun, edit geliyor bekle.
Furkan'ım, C# ve VB ile yazmam gerek zira başka dil almadım. Gibe gibe dediğim 2 dilde yazacağım yani. :) Yardımlarını bekliyorum zira işim çok uzun.
:crw:
Edit : : Sana ulaşabileceğim bir sosyal ağ adresin var mı? IP Bloklama dışında, ayrı bir proje yazma hakkım daha var. Ondan bahsetmek istiyorum.
 
Son düzenleme:

Furkan'ım, C# ve VB ile yazmam gerek zira başka dil almadım. Gibe gibe dediğim 2 dilde yazacağım yani. :) Yardımlarını bekliyorum zira işim çok uzun.
:crw:
Edit : : Sana ulaşabileceğim bir sosyal ağ adresin var mı? IP Bloklama dışında, ayrı bir proje yazma hakkım daha var. Ondan bahsetmek istiyorum.

VB dediğin .NET mi ? O ise converter ile çevirebilirsin. Yorumumu düzenledim ayrıca.
 


VB dediğin .NET mi ? O ise converter ile çevirebilirsin. Yorumumu düzenledim ayrıca.
Daha okunabilir olmuş, teşekkür ederim. Sanırım aşağıda verdiğim linkteki örneği yapmam daha kolay ve anlaşılabilir olacak. Değişik birşeyler yapmak istedim fakat zeka kapasitem yetmedi. Anlattığın şeyleri cidden anlamaya çalıştım ve anlamadım. Üstelemedim hiç. Yazdığın her harf için teşekkür ederim. Aşağıda verdiğim linki bir inceler misin? VB dediğim Visual Basic.
http://www.gorselprogramlama.com/ogrenci-bilgi-islemi-takip-programi-c-netcnet/
 

Daha okunabilir olmuş, teşekkür ederim. Sanırım aşağıda verdiğim linkteki örneği yapmam daha kolay ve anlaşılabilir olacak. Değişik birşeyler yapmak istedim fakat zeka kapasitem yetmedi. Anlattığın şeyleri cidden anlamaya çalıştım ve anlamadım. Üstelemedim hiç. Yazdığın her harf için teşekkür ederim. Aşağıda verdiğim linki bir inceler misin? VB dediğim Visual Basic.
http://www.gorselprogramlama.com/ogrenci-bilgi-islemi-takip-programi-c-netcnet/

Estağfurullah, hiç olmadı sen Chernobyl* 'in yaptığını düzenle. Şuan karışık durumda o. Senin sorununu çözecektir.

VB6 'ı bırakalı belki 4 yıl oldu. Çok eskidi artık o, belki de desteğini kestiler. Onda socket yapısı biraz farklı çalışıyor. WinSock kullanıyordu yanlış hatırlamıyorsam. VB kullanacaksan, netsh dediğim fonksiyonu çalıştırman yeterli. CMD komutu zaten o. Diğer şeylerle uğraşma. Açıkcası unuttum nasıl olduğunu. Ama yanlış tercih yapmışsın. Java veya benzer bir dil seçmen iyi olacaktı.

VB ile komut penceresi çalıştırma ;

http://stackoverflow.com/questions/16152531/how-to-run-a-command-prompt-command-with-visual-basic-code


Edit: Sosyal medya hesabı kullanmıyorum, bıraktım. Bence bu güzel bir proje, etrafda bol bol örnek yazılım var zaten. Birde başka gelecek yorumlara bak, onlarda yardımcı olacaktır.
 
Son düzenleme:


Estağfurullah, hiç olmadı sen Chernobyl* 'in yaptığını düzenle. Şuan karışık durumda o. Senin sorununu çözecektir.

VB6 'ı bırakalı belki 4 yıl oldu. Çok eskidi artık o, belki de desteğini kestiler. Onda socket yapısı biraz farklı çalışıyor. WinSock kullanıyordu yanlış hatırlamıyorsam. VB kullanacaksan, netsh dediğim fonksiyonu çalıştırman yeterli. CMD komutu zaten o. Diğer şeylerle uğraşma. Açıkcası unuttum nasıl olduğunu. Ama yanlış tercih yapmışsın. Java veya benzer bir dil seçmen iyi olacaktı.

VB ile komut penceresi çalıştırma ;

http://stackoverflow.com/questions/16152531/how-to-run-a-command-prompt-command-with-visual-basic-code


Edit: Sosyal medya hesabı kullanmıyorum, bıraktım. Bence bu güzel bir proje, etrafda bol bol örnek yazılım var zaten. Birde başka gelecek yorumlara bak, onlarda yardımcı olacaktır.
Sen benim attığım bilgi sistemini inceledin mi?
 


Evet, o proje herkes tarafından yapılabilir, bu proje daha fazla puan alır onu söyleyeyim. Zaten hazır olarak proje attım en altta.
Onda düzenlemem gereken nedir? Yoksa CTRL+C + CTRL+V mi? Puan sistemi yok Furkan'ım. +/- sistemi var. :)


- - - Güncellendi - - -

#chernobly'in örneği debug edilmiyor. :nse: sadece kodlar var elimde ve ben bu kodların içinde kaybolabilirim.
 

Onda düzenlemem gereken nedir? Yoksa CTRL+C + CTRL+V mi? Puan sistemi yok Furkan'ım. +/- sistemi var. :)


- - - Güncellendi - - -

#chernobly'in örneği debug edilmiyor. :nse: sadece kodlar var elimde ve ben bu kodların içinde kaybolabilirim.

Maalesef bu konu hakkında yapabileceğim birşey yok. :rbk: Verdiğim source senin ödevin için örnek olabilecek temel bir proje. Burada Kaspersky'ın firewall'ını yaz demiyorum, basit "netsh" kullanımıdır bu örnek.
 
Geri
Üst