Merih Forum Programlama ve yazılım algoritmalar programlama python Python ile Tor Network Üzerinden Veri Çekimi

ABD Münbiçi bırakır mı ?

ABD, Münbiçin yarısı sizde yarısı bizde kalsın dedi

SON 20 YILDA OSCAR KAZANAN KADINLAR

Son 20 yılda En İyi Kadın Oyuncu kategorisinde Oscar kazanan oyuncuların listesi...

AFRİN HAREKATI

Zeytin Dalı Harekatında teröristlerden temizlenen bölge artıyor

SILKROAD XIAN SERVER

2017 de açılan Xian server ilginç özelliklerde

  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Python ile Tor Network Üzerinden Veri Çekimi

 
#1

Tor_logo1.png
Merhabalar. Bu yazımda Python ile Tor networku üzerinden veri çekimini anlatacağım. Öncelikle mevzuya Tor nedir ile başlayalım derim. Tor, kişi ve grupların kendi gizlilik ve güvenliklerini ön planda tutarak internette işlem ve gezinti yapabilmelerine olanak tanıyan ve sanal tüneller sayesinde bağlantıların maskelenmesi mantığıyla çalışan bir ağdır. DARPA (Defense Advanced Research Projects Agency) tarafından Amerikan ordusu için geliştirilen bu gizli ağ, daha sonradan kendilerinin illegalliğini bir nebze olsun örtmek için herkese açılmıştır. Aklınıza gelebilecek her türlü illegal günlük sayfa paylaşımların olduğu bu network oldukça derindir. Genelde açılan sayfalar günlük veya saatlik açılır ve kapanır. Bu yüzdende illegal paylaşımların önüne geçmekte zorlaşır. Tor ile ip adresini değiştirip normal net sayfalarındada gezinmeniz mümkün. Ancak bunun güvenli olmadığını çoğu siber güvenlik uzmanı dile getirir. Tor domainlerinin uzantısı 'onion' dur. Günümüzde bu ağa erişmek hiçte zor değil. Kendilerininde geliştirdiği tor-browser ile internete bağlanır gibi bu networke bağlanmanız çok kolay. Bende bu yazımda tor derin networkune Python ile bağlanıp bir sayfanın html verilerini çekeceğim. İlk yapacağımız iş makinamıza bir tor servis yüklemek olacak. Bu servis sayesinde tor bize sanal bir port açıp networke bağlanmamızı sağlayacak.Bu servisi buradan indirebilirsiniz. Ben kurulumu ve anlatımı ubuntu üzerinden anlatacağım. Diğer işletim sistemlerinde de benzer yolları izlerseniz sonuca ulaşabilirsiniz. Sonuçta Python kullanıyoruz bir kere yaz heryerde çalışsın değil mi Wink Şimdi başlayalım artık.
Tor Kurulumu
Öncelikle tabiki tor kurulumundan başlayacağız. Servisi yükleyip DNS ve Transport dinlemesini bu servis üzerinden yapmamız gerekecek. Tor servisini kurmak için
Öncelikle repository mizi kontrol etmemiz gerekiyor. Tor reposunu eklemek için şu komutu kullanmamız yeterli olacaktır.
sudo sh -c 'echo deb "http://deb.torproject.org/torproject.org [kullandigin_dagitim] main" >> /etc/apt/sources.list'
Buradan '[kullandigin_dagitim]' yerine kullandığınız Ubuntu veya Debian dağıtımının ismini yasacaksınız. (Lucid, Maverick, Natty or Etch, Lenny, Sid, Squeeze, etc.)GPG Keyini ekleyip kurulumumuzu yapalım.
gpg --keyserver keys.gnupg.net --recv 886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
apt-get update && sudo apt-get install tor privoxy

Şimdi burada privoxy yi görenler nedir bu diye düşünmüşlerdir. privoxy tor için proxy ayarlamasını yapmamızı sağlayan bir yapıdır.privoxy config dosyasını editleyelim.
sudo vi /etc/privoxy/config/

Bu dosyayı açıp altına şu satırı ekleyelim.
forward-socks4a / localhost:9050 .

Böylece privoxy ayarlamalarımızda tamamlanıyor.Bir ufak ayarda tor a yapmamız gerekiyor.
sudo vi /etc/tor/torrc

Bu dosyanın onüçüncü satırının altına
AutomapHostsSuffixes .onion,.exit
AutomapHostsOnResolve 1
DNSListenAddress 127.0.0.1
DNSPort 53

Bu kodları yazmamız gerekir. Burada dip not olarak belirteyim. Eğer dns çözümleme hatası alırsanız sistemin dns nameserver ını 127.0.0.1 yapın.Tor'u artık başlatabiliriz.
sudo /etc/init.d/tor start

Tor yükleme işlemlerini tamamladık. Bir sıkıntı yoksa tor çalışıyordur.
Python ile Tor Bağlantısı
Tor kurulumundan sonra Python kısmı çok daha kolay gelecektir. Burada üç modul kullanacağız. Biri tabikide 'socket' biri önceki yazılarımdanda bildiğiniz ve benim çok kullandığım html parsing modulu olan 'pyquery' ve tor için kullanacağımız socks5 bağlantı protokolu için 'SocksiPy'. 'socket' modulu python kendi içerisinde zaten mevcut ancak diğer modülleri bizim yüklememiz gerekecek. PyQuery için,
sudo apt-get install python-pyquery

SocksiPy için ise,
sudo apt-get install python-socksipy

yeterli olacaktır. Eğer kurulum işlemi sorunsuz tamamlandıysa artık python kodlarına geçebiliriz. Öncelikle kullanacağımız kütüphaneleri ekliyoruz.
import socks
import socket
from pyquery import PyQuery as pq

Buradaki socks modulu socksipy den gelmektedir. Yukarıdada bahsettiğim gibi socks5 protokolüyle socket e bağlanmak için kullanacağız. Bunun için şöyle bir fonksiyon işimizi görecektir.
def create_connection(address, timeout=None, source_address=None):
   sock = socks.socksocket()
   sock.connect(address)
   return sock

Bu fonksiyon aynı zamanda dns çözümlemesi içinde işimize yarayacaktır. Özellikle .onion uzantılı siteler için bunu kullanmamız gerekmektedir.Şimdi bizim için gerekli olan en önemli adım proxy ayarları. Bunun için şu satırı eklemeliyiz.
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)

Bu satır default portu 9050 olan tor servisini socks5 protokolu ile ana proxymiz haline getirir. Artık tor a bağlanmada son bir adım kalıyor. Oda hazırladığımız bu socks nesnesini socket e bağlamak.
socket.socket = socks.socksocket
socket.create_connection = create_connection

Artık tor networune bağlandık. Şimdi yapacağımız işlemler bildiğiniz html işlemleriyle aynı. Öncelikle ip adresimizi bi kontrol edelim değişmişmi.
url = "http://my-ip.heroku.com"
content = pq(url=url)
print content.text()

Bu kodu çalıştırdığımda ip adresimin değiştiğini gördüm. Bana şöyle bir çıktı verdi.
212.83.40.239

Tor da olduğumuzu test etmiş olduk. Artık istediğimiz sayfayı parse edebiliriz. Ben .onion uzantılı bir sayfayı çekip parse edip. Ekrana yazdırmak istiyorum. Bunun için yukarıdaki yöntemin aynısını izleyebiliriz. Ip adresimiz, öğrenmek için yazdığımız kodu değiştirip şöyle yapalım.
url = "http://ow24et3tetp6tvmk.onion"
content = pq(url=url)
print content("title").text()

Bu linki internetten buldum. Bitcoin hesap bilgilerinin yer aldığı bir sayfaymış. Çok incelemedim ama illegal olma ihtimali yüksek tabi. Sadece sayfayı çekip sayfa başlığını yazdırdık. Sonuç olarak şu çıktıyı almamız gerekir.
OnionWallet Anonymous and secure Bitcoin Wallet and Bitcoin Mixer, Laundry. Wash your Bitcoins. Tor Web Wallet

Evet tor ile onion sayfasını böylelikle parse etmiş olduk son olarak kodun tamamını yazıp müsadenizi isteyeceğim. Bol python lu günler dilerim.
import socks
import socket
from pyquery import PyQuery as pq

def create_connection(address, timeout=None, source_address=None):
   sock = socks.socksocket()
   sock.connect(address)
   return sock

socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)

socket.socket = socks.socksocket
socket.create_connection = create_connection


#url = "http://my-ip.heroku.com"
#content = pq(url=url)
#print content.text()

url = "http://ow24et3tetp6tvmk.onion"
content = pq(url=url)
print content("title").text()




Ara
Cevapla

 
#2

bununla deep weba girecez yani



Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Python – Mechanize Modülü biohazard 0 281 06-04-2018, Saat: 19:14
Son Yorum: biohazard
  Python 3 MySQL Kullanımı dalaylama 0 598 23-12-2017, Saat: 17:39
Son Yorum: dalaylama
  Python'da Struct Kullanımı blueman 0 802 30-08-2017, Saat: 22:22
Son Yorum: blueman
  Python'da Zincirleme Metodlar blueman 0 665 30-08-2017, Saat: 22:13
Son Yorum: blueman
  python da uygulama yaptık nasıl dağıtacağız ? dalaylama 0 884 07-08-2017, Saat: 22:27
Son Yorum: dalaylama

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2018 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2018 Tüm hakları saklıdır.