Hoşgeldin Misafir

Port Tarayıcı Uygulaması Yazalım

Codex

11 Ara 2017
1,471 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Kendi İp Tarama Programımızı Yazalım :



Kod:
import socket
from datetime import datetime
import sys

Tarama işlemini yapacağımız metodumuzu yazalım :-


Kod:
def port_tara(hedef,smask):
baslangic_zamani = datetime.now()
port = port_sor()
for a in range(1,smask):
ip=hedef[0]+"."+hedef[1]+"."+hedef[2]+"."+str(a) #ip'mizi oluşturuyoruz
hedef_ip=socket.gethostbyname(ip)
banner_ekle(ip) 
try:
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.settimeout(1.2)
sonuc=sock.connect_ex((hedef_ip,port)) #sırasıyla 1-254 ip aralığında , belirtilen port taraması yapılıyor
if sonuc==0 :  #taratılan ip'de hedef port açık 
dosya_yaz(hedef_ip,port) #açık portu ve ip bilgisini text dosyasına yazıyoruz 
print("Port {} açık ".format(port))
sock.close()
except KeyboardInterrupt:
print("CTRL+C'ye bastınız")
sys.exit()
except socket.gaierror:
print("hostname çözümlenemedi")
sys.exit()
except socket.error:
print("hedef ip'ye bağlanamadı")
sys.exit()
bitis_zamani=datetime.now()
toplam_sure=bitis_zamani-baslangic_zamani
print(str(toplam_sure) +"surede tamamlandi")


Kod:
def banner_ekle(ip):
print("*"*60)
print('Lutfen bekleyiniz. Taranan ip : ',ip)
print("*"*60)

Kullanıcıya Hangi Portun Taranacağını sorduğumuz metod  Sık Kullanılan Portları tercih ettirdik :-


Kod:
def port_sor():
port_ekrani= """
1- FTP
2- SSH
3- TELNET
4- HTTP
5-NETBIOS
6-HTTPS
7-WINDOWS PAYLASIM
8-MSSQL
9-ORACLE
10-MYSQL
"""
print(port_ekrani)
pn=0
portlar={"1":"21","2":"22","3":"23","4":"80","5":"137","6":"443","7":"445","8":"1433","9":"1521","10":"3306"}
port_no=input("lütfen servisi seciniz :\t")
pn=int(portlar[port_no])
return pn



Kod:
def dosya_yaz(ip,port):
with open("rapor.txt","r+") as dosya:
okunan=dosya.read()
dosya.seek(0)
dosya.write(okunan + "\n" +str(ip)+":"+str(port))

Şimdi Kullanıcıdan hedef netework ve subnet bilgisini alalım (şimdilik sadece /24 subnetinde tarama yapacağız) :-



Kod:
ipp=input("Lütfen taranacak networkü giriniz / 192.168.1.0 şeklinde \t: ")
ipp_ayrilmis=ipp.split(".")
subnet_mask=input("lutfen subnet nask giriniz  .. 8/24/32 \t :")
if subnet_mask=="/24" or "24":
smask=255
port_tara(ipp_ayrilmis,smask)




Artık Hazırsınız Kendinizi Geliştirmek Elinizde Daha Güçlü Uygulumalar Yapabilirsiniz Biraz Kurcalamak Gerek.