Python Scripts Part 1 (Port Scanner) (Odev)

TheSadError

Katılımcı Üye
28 May 2022
388
267
...
Selamlar. bugun size python da port scanner ve python HIZLI port scanner nasil yapilir onu gosterecegim!
Ilk once normal port scanner yapalim . Boylelikle kodumuz 65535 port u tek tek deniyecek ve acik olan portlari versiyonlari ile birlikte ekrana yazdiracak. Bunun icin python daki sockets paketini kullandim.

Ilk once spesific port larin neler oldugunu soyleyelim : (20,21,22,25,53,69,80,8080,8443,137,139,443,445)

Normal Port Scanner Mode SLOW , FUll scan:
Python:
import socket

from colorama import *

url = socket.gethostbyname(url)

print(Fore.BLUE+"\tPort  \tSTATE  \tVersion")

for port in range(1,65535): # (arama algoritmasi ) evrensel port sayisi : 65535

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    socket.setdefaulttimeout(1)

    result = s.connect_ex((url,port)) # port un calistigini denemek icin result degerimizi olusturuyoruz

    if result ==0: # portun calisib calismadigina bakiyor

        version = socket.getservbyport(port, "tcp") # port un versiyonunu tanimlamak icin modul

        print(Fore.GREEN+f"\t{port}  \topen  \t{version}")  # port + versiyonunu cikariyoruz

    s.close()

Spesific Port scan Mode Fast . Potansiyal acik bulundurabilen scan:
Python:
import socket

from colorama import * 



        url = socket.gethostbyname(url)

        print(Fore.BLUE+"\tPort  \tSTATE  \tVersion")

        port = 20

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 21

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 22

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 139

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 137

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 445

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 53

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 443

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 80

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 23

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 8080

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 25

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 8443

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 69

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()
Sanirim bunu anlatmama luzum yok . Burada tek tek port u potansoyal acikli port a esitliyorum ve denemesini sagliyorum.
Size bir odev! Ikinci kodu yani fast port scani nasil kisalta biliriz ?

Kaynak (Kendim :)) : GitHub - TheSadError/solo: Solo is vulnerability scanner and information gathering tool. Dont forget to star it if you like it. Multiple options for scanning. Fast mode slow mode and more scanning paramters. Use it to hack better :)
 

Helmsys

Yazılım Ekibi Kıdemli
16 Mar 2022
1,492
1,649
Python:
import socket
from time import time

açık_portlar = []
kapalı_portlar = []

a = time()
spesifik_portlar = [20,21,22,25,53,69,80,8080,8443,137,139,443,445]
url = socket.gethostbyname("")

for i in spesifik_portlar:
    print("Deneniyor",i)
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    socket.setdefaulttimeout(1)
    result = s.connect_ex((url,i))
    if result == 0:
        açık_portlar.append(i)
    else:
        kapalı_portlar.append(i)
    s.close()

b = time()
print("Açık Portlar: ",açık_portlar)
print("Kapalı Portlar: ",kapalı_portlar)
print(f"{int(b-a)} Saniye sürdü")

Benden bu çıktı güzel insan.
 
Son düzenleme:
1 Ara 2020
76
89
İstanbul
Bu yöntem ile Port taramak çok mantıklı değil, 65k portu tek tek tarayamazınız.

En mantıklısı nmap modülünü kullanmanız yada threding kullanmak.
 

xxtra

Yeni üye
27 Haz 2022
47
43
socket modülü yanında threading kullanımını ve threads anathomy konusuna girseydin gerçekten iyi yorum yapacaktım ama cidden hak eden bir konu değil. Üstelik kopyala yapıştır mı yaptın anlamadım ama PEP8 namına çoğu kurala uyulmamış scriptte rezalet bir script. Geliştirmenin yolunu bul.
 
1 Ara 2020
76
89
İstanbul
Ustun zekali arkadasim o yuzden fast olaninida yaptim ya. NMAP napiyo ? ayni bu sekilde calisiyor
Güzel iltifatın için teşekkür ederim ama ben senin zeka seviyenden şüpheliyim. O yüzden yalan söleyemeyeceğim.

NMAP kaynak kodlarını zahmet edip incelersen binbir türlü metot ile tarama yaptığını, süreci çok daha farklı işlediğini görürsün. Keza bu yüzden nmap kullanılıyor, senin yazdığın dandik script(ler) değil.

Threading kullanmak mantıklı değil, threadpool daha akıl yolu olur.

Bilmediğim bir terim hocam, araştıracağım. Teşekkür ediyorum.
 

JohnWick51

Uzman üye
20 Mar 2022
1,867
770
28
Selamlar. bugun size python da port scanner ve python HIZLI port scanner nasil yapilir onu gosterecegim!
Ilk once normal port scanner yapalim . Boylelikle kodumuz 65535 port u tek tek deniyecek ve acik olan portlari versiyonlari ile birlikte ekrana yazdiracak. Bunun icin python daki sockets paketini kullandim.

Ilk once spesific port larin neler oldugunu soyleyelim : (20,21,22,25,53,69,80,8080,8443,137,139,443,445)

Normal Port Scanner Mode SLOW , FUll scan:
Python:
import socket

from colorama import *

url = socket.gethostbyname(url)

print(Fore.BLUE+"\tPort  \tSTATE  \tVersion")

for port in range(1,65535): # (arama algoritmasi ) evrensel port sayisi : 65535

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    socket.setdefaulttimeout(1)

    result = s.connect_ex((url,port)) # port un calistigini denemek icin result degerimizi olusturuyoruz

    if result ==0: # portun calisib calismadigina bakiyor

        version = socket.getservbyport(port, "tcp") # port un versiyonunu tanimlamak icin modul

        print(Fore.GREEN+f"\t{port}  \topen  \t{version}")  # port + versiyonunu cikariyoruz

    s.close()

Spesific Port scan Mode Fast . Potansiyal acik bulundurabilen scan:
Python:
import socket

from colorama import *



        url = socket.gethostbyname(url)

        print(Fore.BLUE+"\tPort  \tSTATE  \tVersion")

        port = 20

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 21

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 22

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 139

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 137

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 445

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 53

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 443

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 80

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 23

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 8080

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 25

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 8443

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()

        port = 69

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        socket.setdefaulttimeout(1)

        result = s.connect_ex((url,port))

        if result ==0:

            version = socket.getservbyport(port, "tcp")

            print(Fore.GREEN+f"\t{port}  \topen  \t{version}")

        s.close()
Sanirim bunu anlatmama luzum yok . Burada tek tek port u potansoyal acikli port a esitliyorum ve denemesini sagliyorum.
Size bir odev! Ikinci kodu yani fast port scani nasil kisalta biliriz ?

Kaynak (Kendim :)) : GitHub - TheSadError/solo: Solo is vulnerability scanner and information gathering tool. Dont forget to star it if you like it. Multiple options for scanning. Fast mode slow mode and more scanning paramters. Use it to hack better :)
Ellerine saglik
 

TheSadError

Katılımcı Üye
28 May 2022
388
267
...
Güzel iltifatın için teşekkür ederim ama ben senin zeka seviyenden şüpheliyim. O yüzden yalan söleyemeyeceğim.

NMAP kaynak kodlarını zahmet edip incelersen binbir türlü metot ile tarama yaptığını, süreci çok daha farklı işlediğini görürsün. Keza bu yüzden nmap kullanılıyor, senin yazdığın dandik script(ler) değil.



Bilmediğim bir terim hocam, araştıracağım. Teşekkür ediyorum.
:) a ama uzdun beni simdi la git kendin yaz o anlatmadigin script leri ben en azindan ugrasdim, Ikincisi ise neyi almiyo kafam anlamiyorum ama zaten orda FAST scan dedim ya kardesim! Kormusun neden gormuyorsun?
 
1 Ara 2020
76
89
İstanbul
:) a ama uzdun beni simdi la git kendin yaz o anlatmadigin script leri ben en azindan ugrasdim, Ikincisi ise neyi almiyo kafam anlamiyorum ama zaten orda FAST scan dedim ya kardesim! Kormusun neden gormuyorsun?
Yazdık paşam, bizde az harcamadık ekran başında vaktimizi. Sen gireceğin ilk okul sınavlarının heyecanlı ile gece uyuyamaz iken biz exploitler, sistemler geliştiriyorduk.

Uğraşmana bir şey dediğimiz yok, ama iyi bir geliştirici olacaksan her türlü review'e ılımlı yaklaşman gerekiyor. Bu; konuna öyle boş "ellerine sağlık" mesajları atmadığımız anlamına geliyor. Çoğu kişi kodunu okumuyor bile "ellerine sağlık" yazıp geçiyor. Biz, yazdığın koda değer veriyor, okuyoruz. Eksik gördüklerimizi gösterirken kendi eksik yanlarımızı görüyoruz ve bizlerde kendimizi geliştiriyoruz. Mesela @Alih78 sayesinde yeni bir şey öğrendim bugün.

Kodunun yorumlanmasını, review edilmesini istemiyorsan git kapalı kaynak yap. Burada ağlamana değmiyor güzel kardeşim.

Hadi kolay gelsin, daha iyilerini de yazman dileklerim ile.
 

xxtra

Yeni üye
27 Haz 2022
47
43
:) a ama uzdun beni simdi la git kendin yaz o anlatmadigin script leri ben en azindan ugrasdim, Ikincisi ise neyi almiyo kafam anlamiyorum ama zaten orda FAST scan dedim ya kardesim! Kormusun neden gormuyorsun?
Sana kendini geliştirmen için fırsat vermemizde hata var. Vaktini kendini geliştirmeye değil de burda kendini yüceltecek biçimde insanlara saldırmaya harcarsan fazla yol alamazsın. Threading işlemleri namına tek bir şey yapmadan fast scan'i nasıl yaptın diye merak edip okudum da senin daha kat edecek çok yolun var...
 

TheSadError

Katılımcı Üye
28 May 2022
388
267
...
Sana kendini geliştirmen için fırsat vermemizde hata var. Vaktini kendini geliştirmeye değil de burda kendini yüceltecek biçimde insanlara saldırmaya harcarsan fazla yol alamazsın. Threading işlemleri namına tek bir şey yapmadan fast scan'i nasıl yaptın diye merak edip okudum da senin daha kat edecek çok yolun var...
tamam bakiyorum hemen senin yorumun kaynamis gormemisim

Yazdık paşam, bizde az harcamadık ekran başında vaktimizi. Sen gireceğin ilk okul sınavlarının heyecanlı ile gece uyuyamaz iken biz exploitler, sistemler geliştiriyorduk.

Uğraşmana bir şey dediğimiz yok, ama iyi bir geliştirici olacaksan her türlü review'e ılımlı yaklaşman gerekiyor. Bu; konuna öyle boş "ellerine sağlık" mesajları atmadığımız anlamına geliyor. Çoğu kişi kodunu okumuyor bile "ellerine sağlık" yazıp geçiyor. Biz, yazdığın koda değer veriyor, okuyoruz. Eksik gördüklerimizi gösterirken kendi eksik yanlarımızı görüyoruz ve bizlerde kendimizi geliştiriyoruz. Mesela @Alih78 sayesinde yeni bir şey öğrendim bugün.

Kodunun yorumlanmasını, review edilmesini istemiyorsan git kapalı kaynak yap. Burada ağlamana değmiyor güzel kardeşim.

Hadi kolay gelsin, daha iyilerini de yazman dileklerim ile.
ben size birsey demiyorumki cocuk fena bos yapti ona soyledim
 
Moderatör tarafında düzenlendi:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.