Archive for August, 2007

Wireshark (Ethereal) Kullanımı ya da Msn Konuşmalarını Nasıl Dinlerim? - Bölüm 1

Wireshark Nedir?

Wireshark, ya da daha çok bilinen önceki ismiyle Ethereal, GPL lisansıyla dağıtılan bir paket dinleyicisidir. Linux, Mac Os X, Windows ve diğer Unix, BSD tabanlı sistemlerde çalışabilir. Promiscuous mode (Yaramaz mod*) özelliği sayesinde ağ kartına gelen paketleri ait olduğu adres yerine önce işlemciye aktarıp başkalarının trafiğini dinlememizi sağlar. Kendi sitesinden programı indirip kurabilirsiniz.

Wireshark Ayarları

Wireshark ilk açıldığında korkutucu bir arayüz bizi bekliyor, kabul etmek lazım. Edit>Preferences altından ulaşabileceğiniz ayarlarda arayüz görünümü, paket yakalama, isim çözümleme, yazdırma ve çeşitli protokollerin kendine özgü ayarlarını değiştirebilirsiniz. Burada önemli olan ayarlar capture (paket yakalama) sekmesi altında capture packets in promiscuous mode ve update list of packets in real time kutularının işaretlenmiş olması.

İlk Paketimizi Yakalamak

Preferences penceresini kapattıktan sonra ana programa geri dönüp ilk paketimizi yakalayalım. Capture menusu altındaki interfaces’den ethernet kartımızın yanındaki start’a basalım. Eğer açıkta çalışan msn gibi, internet tarayıcısı gibi interneti kullanan programlar varsa onların aktivitelerini görmeye başlayabilirsiniz.

Şimdi ilk paketimizi incelemek için basit bir örnekle başlayalım. Terminali veya komut satırını açıp ping google.com komutunu verin.

Wireshark 1 - Ping

(Resmi büyütmek için üzerine tıklayın.)

ping google.com komutunu çalıştırdıktan sonra ilk önce dns çözümlemesi yapılır.

  1. İlk satırda DNS protokolunde kendi makinamızın routera google.com’a denk gelen ip’yi sorduğunu görebiliriz.
  2. İkinci satırda ise router bize google.com’a ait olan 64.233.167.99 ve 64.233.187.99 ip’lerini cevap olarak veriyor.
  3. Üçüncü satırda kendi makinamız (10.0.0.4) 64.233.167.99′a icmp paketleri halinde ping isteği gönderiyor.
  4. Dördüncü satırda ping cevabı gelmediği için tekrar bir ping isteği gönderiliyor.
  5. Beşinci satırda 64.233.167.99 bizim makinamıza gene icmp paketleri halinde ping cevabı gönderiyor.
  6. Bundan sonra işlem tekrarlanıyor.

Bu durumda 4 ping isteğine 2 cevapla ping isteğimiz sona eriyor.

Artık paket toplamayı durdurabilirsiniz. Capture menusu altındaki stop işimizi görecektir.

Bugün için bu kadar, şu ana kadar fazla bir şey anlatmasam da programı kurcalamaya başlamanız için bu kadar bilgi yetecektir.


Etiketler: , , , ,

En basit sıralama algoritması

En basit sıralama algoritması hangisidir? Okullarda genel olarak bubble-sort gösteriyorlar, fakat ben insertion sort’u tercih ediyordum. Bugün ise gnome-sort diye bir algoritmayla karşılaştım. Neredeyse insertion-sort kadar hızlı çalışıyor, ve anlaması hem bubble-sort’tan hem de insertion-sort’tan daha kolay.

Verdiğim linkte c ile örnek bir kod yazılmış, ruby ile yazmak gerekirse de şöyle bir şeyler oluyor:

1
2
3
4
5
6
7
8
9
10
def gnomesort!(a)
    i=1
    while i
        i+=1  if a[i-1]<=a[i]
        else
            a[i], a[i-1] = a[i-1], a[i]
            i-=1 if i>1
        end
    end
end

ruby’deki a,b=b,a yöntemi ne kadar müthiş değil mi? increment ve decrement operatörlerinin eksikliği ise hemen göze çarpıyor.


Etiketler: , , , , ,

ssh tüneli ile yasak içeriğe ulaşmak(okulda veya kampüste torrent, emule ve diğer p2p programlarını kullanmak)

Bu yazıyı okulumun cinnet geçirttiren bir akşamının ardından yazıyorum.

Pek çok yerde olduğu gibi bizim okulda da p2p programlarının kullanımı engellenmiş durumda. 2 yıldır ağda çalışan bir dc sunucusu kurulacağı söyleniyor, fakat ağ yöneticileri okul yurtlarını tek bir ağda toplamaktan bile aciz durumda.

Burada anlatacağım yöntem sadece p2p programları için değil, bütün engellenmiş sayfalar, programlar, vs. için kullanabilirsiniz.

1. Adım: SSH Hesabı
Bu yöntem için öncelikli olarak bir ssh hesabına ihtiyacınız var. buradaki adreste ücretsiz olarak ssh hesabı veren siteleri bulabilirsiniz. bunların arasında rootshell.be güzel. internette alanınız varsa anlaştığınız firma size ssh hesabı sağlıyor olabilir, onu kullanabilirsiniz. eğer gene de bulamıyorsanız, benimle iletişime geçerseniz size hesap sağlayabilirim.

2. Adım: SSH istemcisi
Linux, Os X ve unix türevleri kullananların ayrı bir program yüklemesine gerek yok, windows kullanıcıları ise putty - plink programını indirebilir.

3. Adım: Port Yönlendirme
Linux, Os X ve unix türevlerinde şu iki komuttan biri işimizi görecektir:

$ ssh -D 1080 sunucuadresi.com:443
veya
$ ssh -D 1080 sunucuadresi.com -P 443

özetle, bu komut bir çeşit socks proxy vazifesi görüp kendi makinamızın 1080. portuna gelen istekleri sunucuadresi.com makinasının 443. portuna iletir. 443. port http portunun ssl ile şifrelenmişidir. internet bankaları gibi sunucu ile iletişimin şifreli olarak yapıldığı https protokolu bağlantılarını bu port üzerinden gerçekleştirir.

Windows üzerinde ise cmd ile indirdiğimiz programın klasörüne gidip şu iki komuttan birini vermemiz yeterli:

plink.exe -D 1080 sunucuadresi.com:443
veya
plink.exe -D 1080 sunucuadresi.com -P 443

kullanıcı adı ve şifremizi de girdikten sonra artık 1080. portumuz socks proxy’si olarak çalışmak üzere ayarlanmış durumda.

4. Adım: P2P programının ayarlanması
p2p programının varsa protokol şifrelemesinin açık olduğuna emin olduktan sonra proxy ayarlarına girip socks5 proxy adresini 127.0.0.1, port’u da 1080 olarak girdikten sonra programı kapatıp açıp istediğimiz her şeyi indirebiliriz. eğer programda port değil de sadece adres girmek için yer varsa adresi 127.0.0.1:1080 şeklinde girebiliriz. Aynı ayar internet tarayıcımız için de geçerli.

5. Adım
Buraya kadar artık her şeyin çalışıyor olması lazım. Yanlız, örneğin bizim okulda herhangi bir websitesi üzerinde bulunan .torrent uzantılı dosyaları indiremiyoruz. bunun için tarayıcımızın proxy ayarlarını 127.0.0.1:1080 olarak değiştirebileceğimiz gibi daha basit yöntemler de var. .torrent dosyasının adresini cgi-proxy olarak geçen sitelere yapıştırırsak sitede login olduktan sonra dosyamız inmeye başlayacaktır.

Cgi-proxy site adresleri için buraya bakabilirsiniz.

Yöntemi Engellemek
eğer servis sağlayıcınız açısından sorun çıkabileceğini düşünüyorsanız, asla bu yöntemi uygulamayın. şifrelenmiş paketleri inceleyebilen yazılımlar yok değil, ama sisteme bindirdiği ek yük gibi sorunlar yüzünden fazla tercih edilmiyorlar. SSH erişimini sağlayan adresin bloklanması söz konusu olabilir, bu durumda da başka bir siteden ssh hesabı alabilirsiniz.


Etiketler: , , , , , , , , , ,