29 Haziran 2010 Salı
Blog Sitesi Nasıl Yapılır(How to create a blog site)
Bloğ oluşturun buttonu tıklayın.http://prntscr.com/izwh
http://prntscr.com/izx3
Google hesabınız varsa giriş yapın yoksa google hesabı oluşturun.
http://prntscr.com/izxi
Blog başlığı yazın ve bloga isim verin mesela ethemsulan gibi.Sonra uygun olup olmadığını kontrol edin.
http://prntscr.com/izy0
Istediğiniz bir tema seçin.
http://prntscr.com/izyb
Bloğunuza yazı buradan d ayazabilirisniz ama windows live writer aracı kullanmanızı tafsiye ederim.
Msn ile yüklememişseniz http://windowslivewriter.spaces.live.com/ indirin ve yükleyin.
http://prntscr.com/izzb
http://prntscr.com/izzl
http://prntscr.com/j00d
Bende şu an yüklü olmasaydı kutucuğu işaretleyip yüklerdim.
http://prntscr.com/j00r
Windows live writeter Bloglar—>Blog hesabı ekle yi tıklayın.
http://prntscr.com/j017
Başka blog hizmetini seçin.
http://prntscr.com/j01d
Oluşturduğunuz blog adresini girin ve google hesabınızın bilgilerini girin.
http://prntscr.com/j01g
Blogğunuz başlığı nasıl görünsün.Örneğin Mehmet Ethem SULAN benimki.
http://prntscr.com/j01s
Şimdi de kodların resnkli görünmesi için Eklenti Ekle tıklayın.
http://prntscr.com/j01y
Gidilen sayfada Tüm diller kısmını seçin ve ikinci sayfada Source Code Formatter yükleyin.
http://prntscr.com/j02i
Şimdi de bir yazı yayınlamak için Source Code yi tıklayın.
http://prntscr.com/j02l
hangi dilde kod yazmışsanız onu seçin ve kodunuzu kopyalayıp yapıştırın ve inser ile windows live writer yayınlama sayfasına ekleyin kodunuzu.
http://prntscr.com/j02r sol tarfa kodu yapıştırın ve insert buttonu tıklayın.Bu seçilen dile ait ayrılmış isimleri renkelndiriyor.
http://prntscr.com/j035
Sol alt köşede Kategori Ekle tıklayıp yazınızın kategirisni belirleyin.
http://img689.imageshack.us/img689/3284/5de359513a154defb86732d.png
Son olarak yazdığınızı Yukarda belirtilen yayınla tıklayınca bloğunuzda yayınlanır.
19 Haziran 2010 Cumartesi
IPSEC, Yönlendirme Teknikleri, OSI ve TCP Arasındaki Farklar, TC/IP Katmanları
IPSEC(Internet Protocol Security)
IPV4 çıkışında güvenlik ön planda tutulmamıştı.Internet’in yaygınlaşmasıyla güvenlik önemli bir hal aldı.Asıl IPV6 için çıkartılan IPSEC IPV4’tede kullanmaküzere değiştirildi.Asıl çıkış amacı IPV6’da güvenliğisağlamaktır. IPSEC’te şifreleme ve filtreleme birarada kullanılarak bilgilerin güvenliği sağlanılıyor.
Güvenlik anlaşmaları : Ipsec’in trafiği nasılkoruyacağını belirler.Bu problemin çözümü için internet anahtar değişimprotocolu IKE geliştirilmiştir.IPSEC protocolleri IP datagramlarının gizliliğinikorumak için standart şifreleme algoritmalarınıkullanırlar. IP datagramların koruması için ihtiyaçduyulan bütün bu parametreler bir güvenlikanlaşmasında(security association) saklanılır.Güvenlik anlaşması kaynak ve hedef IP adreslerinitanımladığından çift yönlü IPSEC iletişiminde sadece biryöndeki trafikte koruma sağlayabilir. IPSEC her iki yöndede koruma sağlamak için iki adet tek yönlü güvenlikanlaşmasına ihtiyaç duyar. Güvenlik anlaşması sadece IPSECtrafiğinin nasıl koruyacağını belirler.2 farklı protocol kullanır.Bunlar : AH ve ESPBu protocolleri kullanma amacı : Iletişimin doğruluğunukanıtlamak, bütünlük ve gizliliğinden emin olmak içindir.Tüm IP datagramlarını koruyabileceği gibi sadece daha üstkatmanalrın protocollerini de koruyabilir.Bu durumlariçin karşılık gelen modlar 1. Tünel 2.Taşıma dır.Tünel modunda, ıp datagramını ıpsec protocolunu kullanarakyeni bir ıp datagramı tarafından tamamen kapsüllenir(wan’lar arasında)Taşıma modunda ise ip datagramının sadece kullanıcıverisi(payload), ipsec protokolü tarafından ip başlığı ile dahaüst katman protocol başlığı arasına yerleştirilerekişlenir(LAN üzerinde yapılan ipsec uygulamaları)Modlar : http://prntscr.com/hos8
Bütünlük koruma : IPSEC protokolleri ipdatagramının bütünlüğünükorumak için hash mesaj doğrulama kodlarını (HMAC) kullanırlar.MD5 ve SHA gibi hash algoritmaları kullanarak ip datagramınıve bir gizli anahtarı temel alan HMAC çıkartılır.Amaç verinindeğiştirilmesini engellemektir.oluşturulan HMAC, ipsecprotocol başlığına eklenir ve paketin alıcısı, eğer eğergizli anahtara erişimi varsa bu HMAC’ı kontrol edebilir.Gizlilik : Ipsec protokolleri, ip datagramlarının gizliliğinikorumak için standart olarak, simetrik şifreleme algoritmalarıkullanır.Günümüğzde genel olarak 3DES,AES, Blowfish gibigüçlü algoritmalar kullanılır.Ipsec protokollerini karşılıklı olarak kapsülleyip açabileneşlerin gizli anahtarı algoritmaları ve iletişimindeizin verilen ip adreslerini saklamak için bir yöntemeihtiyaçları vardır.Ip datagramlarının korunması için ihtiyaçduyulan bu parametreler bir güvenlik anlaşmasındasaklanılır(SA).Güvenlik anlaşmaları sırayla güvenlikanlaşmaları vt sinde(SAD) da saklanırlar.• Her bir güvenlik anlaşması aşağıdaki parametreleri tanımlar;1.Oluşan ipsec başlığının hedef ve kaynak ip adresleri.Bu adresler, paketleri koruyan ipsec eşlerinin ip adresleridir.2.Ipsec protokolü(AH veya ESP) bazen sıkıştırmada desteklenir.3.Ipsec protokolünün kullandığı gizli anahtar ve protokol4.Günlük parametre dizinini(SPI) : Bu güvenlik anlaşmasınıbelirleyen 32 bit sayı.•Bazı SAD gerçeklenimleri başka parametrelerinde saklanmasına izin verir.1.Ipsec modu(tünel ya da taşıma)2.Cevap ataklarına karşı koruma sağlayan kayan pencerenin büyüklüğü3.Güvenlik anlaşmasının geçerlilik süresi•Güvenlik anlaşması kaynak ve hedef ip adresini tanımladığındaçift yönlü iletişiminde sadece bir yöndeki trafikte korumasağlayabilir.Ipsec 2 yönde de koruma sağlamak için 2adet tek yönlü güvenlik anlaşmasına ihtiyaç duyar.•Güvenlik anlaşması elle yapılandırılması hataya yatkın ve çok da güvenli değil.•Gizli anahtarın ve şifreleme algoritmaların VPN deki tümeşler arasında paylaşamsı gerekir.•Ipsec protokol ailesi 2 bağımsız ip protokolünden oluşur.1.Kimlik kanıtlama başlığı(AH) : 51 nolu protokol2.Kapsüllenen güvenlik yükü(ESP) : 50 nolu protokol•AH(Authentication Header)(Kimlik Kanıtlama Başlığı) :AH protokolü ip datagramının bütünlüğünü korur.Bunu yapabilmekiçin datagramının HMAC’ini hesaplar.HMAC hesaplanırken, gizlianahtar, paketteki kullanıcı verisi ve ip başlığındaki ip adresigibi değişmeyen bölümler temel alınır.Bu bilgi daha sonra paketinAH başlığına eklenir.
TCP/IP protocol takımında, veri iletişimi için nelerin gerekliolduğunu ve bunların nasıl gerçekleştirileceği tanımlanmıştır.Katmanlar ve bu katmanlarda çalışacak(IP, TCP gibi)protocoller belirlenmiştir.OSI referans modelindeyse sadeceveri iletişimi için gerekli olan şeyler belirlenmiştir.Protocol : Katmanlar arası konuşmayı düzenleyen kurallar topluluğudur.AH : Kimlik kanıtlama başlığıESP : Kapsüllenen güvenlik yükü.ESP protokolü hem hmackullanarak paketin bütünlüğünü hem de şifreleme kullanrakpaketin gizliliğini garanti eder.NAT : Ağ adres çeviricisiTCP : Transmission control protocolIP : Internet protocolDNS : Domain Name Systemhttp : Hyper Text Transfer ProtocolHTTPS : Secure httpFTP : File Transfer ProtocolSFTP : Secure FTPSNMP : Simple Network Managment ProtocolDHCP : Dynamic Host Configuration ProtocolNFS : Network File SystemLPD : Line Printer DaemonSMTP : Simple Mail Transfer ProtocolPOP3 : Post Office Protocol 3Telnet : Telecommunication NetworkSLIP : Serial Line Internet ProtocolPPP : Point-to-point ProtocolUDP : User Datagram Protocol
Yönlendirme
1.Static 2.Dinamik 3.Kaynaktan yönlendirme4.Hop by hop yönlendirmeYönlendirme Teknikleri1-En kısa yolu bulma algoritması : Bilgisayar ağlarında ikinokta arasındaki en kısa yolu bulurken ölçüt olarak:a-Bağlantı noktaları arasındaki coğrafi uzaklıkb-Geçilen düğüm(sekme) sayısıc-Hatalar üzerinde ortaya çıkan aktarım süreleri,gecikme değerleri sonuçta amacımız, kullanılan ölçütebağlı olarak kaynak noktasından varış noktasınaen kısa yolun bulunmasıdır.2.Flooding : Bu yöntemde bir düğüme ulaşan paketinkopyaları çıkarılır ve bu kopyalar paketin geldiğibağlantı(hat) dışındaki tüm bağlantılardan gönderilir.3.Distance Vector Routing : Uzaklık vektörü yönlendirmesidinamik yönlendirme algoritmasıdır. Bu teknikte heryönlendirici bir yönlendirme tablosu tutar.Bu tabloda ağdakiher yönlendirici için bir satır bulunur. Her satırda ilgiliyönlendiricinin tablonun bulunduğu yönlendiriciye olanuzaklığı ve ilgili yönlendirmeye hangi çıkış hattı üzerindenulaşılacağı bilgisi saklanılır.Uzaklık vektörüyönlendirmesinde her yönlendirici(peryodik olarak) herT milisaniyede bir kendi tablosunda bulunan ölçüt değerlerinikomşularına gönderir ve benzer bir tabloyu da komşusundan alır.
RSA(Anahtar Üretimi)
Örnek: 123 şifreleyip göndermek için verilen p=61,q=53 n=p*q=3233q=(p-1)(q-1)=60*52=3120 1<e13120 olacak şekilde 3120ile arasında asal 17’yi seçelim. d*17=1(mod 3120)olması için d=2753 bulunur.Açık anahtar (3233, 17) şifreleme c=m^e(mod n)Gizli anahtar 2753 deşifreleme m=c^d(mod n)Bunlar verilirC=123^17 (mod 3233)=855 bu şifrelenmiş hali.855 i deşifrelemek için m=855^2753(mod 3233)=123
TC/IP Katmanları
Uygulama : Telnet,FTP,SMTP,DNSTaşıma : TCP, UDPAğ : IP/Arp, ICMP,IGMPFiziksel : Arpnet, LAN
OSI ve TCP Arasındaki Farkla
1.OSI’de özel bir protocol eğilimi yok.Ama TCP/IP protocol kullanır.2.OSI VE TCP/IP modellerindeki katman sayıları farklıdır.3.OSI modelinde(oturum ve sunum katmanları hariç)bilgisayar ağlarını tartışmak ve tasarlamak için yararlıbir başvuru modelidir. TCP/IP yeni ağ tasarımı içinfaydalı bir model olmuştur.4.OSI’de hizmet, arayüz ve protocollarda net hizmet farkıbelirlenmiş. TCP/IP net bir ayrım yapmamış.5.OSI VE TCP hizmet türü
Bağlantı hızları: http://prntscr.com/hosj
18 Haziran 2010 Cuma
SAL ile while Örneği
int toplam=0;
int i=0;
while(i<=10){
i=i+1;
toplam=toplam+i;
}
printf(toplam);
C kodunun SAL karşılığı
.data
toplam: .word 0
i: .word 0
.txt
_while: bgt i,10, endwhile
add i,i,1
add toplam, toplam, i
b _whil
endwhile: put toplam
done
3 Haziran 2010 Perşembe
Python ile Girilen Değeri Dosya Yoksa Oluşturup Sonuna Ekleyen Örnek
#!/usr/bin/python# acma modu a secilince eger dosya yoksa olusturur.#dosya varsa sonuna ekleme yapar.url=open("./ds.txt","a");str=raw_input("Dosyaya yazmak icin bir cumle girin : ");devam="e"
while devam=="e":
url.write(str);
url.write("\n");devam=raw_input("Devam etmek icin 'e' yazin : ");if devam=="e":str=raw_input("Dosya icin bir cumle girin : ");url.close();
2 Haziran 2010 Çarşamba
Random ile Üretilen Sayılardan En Çok Tekrarlanan Sayıyı Bulan Python Kodu
#!/usr/bin/env python#random modülünü import ettik
import random;
liste=[];tekrarlanan=0;sayi=0;#randint(baslangic,son) arasinda deger uretirfor i in range(1,30):x=random.randint(1,15)liste.append(x);if liste.count(x)>tekrarlanan:tekrarlanan=liste.count(x);
sayi=x;print sayi," sayisi: ",tekrarlanan," kez tekraralnadi";liste.sort();print liste;
Rastgele Sayı Üreten Python Kodu
Python ile rastgele üretilen sayıları diziye attık ve en büyük ücüncü sayıyı ekrana yazan kdo örneği
#!/usr/bin/env pythonimport random;
buyuk_sayi=0;liste=[];for i in range(20):a=random.randint(1,10);liste.append(a);liste.sort();print liste;
for i in liste:if liste.count(i)<>1:for k in range(1,liste.count(i)):
liste.remove(i);print liste;
print "en buyuk ucuncu sayi :",liste[-3];
Pythonda Listelerde Kullanılan insert(), append(), reverse(), sort(), extend() Fonksiyonlar
#!/usr/bin/env pythonliste=["a"];
liste.insert(2,1);girilen=int(raw_input("Bir tamsayi gir:"));liste.append(girilen);liste2=[11,23,45];#liste2 eleman olrak ekleniyor.liste.append(liste2);for i in liste:print i,
print "liste uzunlugu : ",len(liste);liste.extend(liste2);for i in liste:print i,
print "liste uzunlugu : ", len(liste);liste.sort();print "normal listemiz : ",liste;liste.reverse();print "ters cevrilsmis listemiz :",liste;
Sözlüğü Sıralayan Python Kodu
sozluksirala.py
#!/usr/bin/env pythonsozluk={"k":11,"b":23,"y":2,"a":33,"c":1}for i in sozluk:print i,"-->",sozluk[i];print "Siralanmis hali";for i in sorted(sozluk):print i,"-->",sozluk[i];
Sözlekten Anahtar ve Değeri iteritems() Okuyan Python Kodu
anhtardeger.py
#!/usr/bin/env pythonsozluk={"anahtar1":"deger1","anahtar2":"deger2","anahtar3":"deger3"}for a,d in sozluk.iteritems():print a," --> ",d;
Dosyadan Verileri Okuyup Anahtar Değer Şeklinde Sözlüğe Ekleyen Python Kodu
eslestir.py
#!/usr/bin/env pythonoku_nesnem=open("./sozluk.txt");sozluk={};for i in range(0,4):satir=oku_nesnem.readline();
dizi=satir.split(":");sozluk[dizi[0]]=dizi[1];for a,d in sozluk.iteritems():print a," --> ",d;
sozluk.txt
anahtar1:deger1
anahtar2:deger2
anahtar3:deger3
anahtar4:deger4
Dosyadan Verileri Okuyup Tek Tek Listeye Ekleyen Python Kodu
listem.py
#!/usr/bin/env pythondosya=open("./dosyam");#ubuntuda dosya olusturunca .txt olmak zorunda degilsatir=1;listem=[];while satir:satir=dosya.readline();
gecici=satir.split();
for i in gecici:listem.append(i);for i in listem:print i;
dosyam
mehmet
ethem sulan
nereye gidiyor bu adam
neler oluyor anlamadim ki
Sözlükteki Anahtar ve Değerini Ekrana Yazan Python Kodu
sirala.py
#!/usr/bin/env pythonsozluk={"java":"jsp","python":"django"}for i in sozluk:print i,"-->",sozluk[i];
Girilen Anahtara Karşılık Değeri Bulan Python Kodu
sozluk.py
#!/usr/bin/env pythonisim=raw_input("Bir anahtar gir: ");k=0;sozluk={"ethem":"sulan", "canakkale":"merkez","ogrenci":"evet","anahtar":"deger"}for i in sozluk:if isim==i:
print "Girilen anahtara karsilik gelen deger: ",sozluk.get(i);k=1;if k==0:
print "girilen anahtar sozlukte yok";