Kendi İp Tarama Programımızı Yazalım :
Tarama işlemini yapacağımız metodumuzu yazalım :-
Kullanıcıya Hangi Portun Taranacağını sorduğumuz metod Sık Kullanılan Portları tercih ettirdik :-
Şimdi Kullanıcıdan hedef netework ve subnet bilgisini alalım (şimdilik sadece /24 subnetinde tarama yapacağız) :-
Artık Hazırsınız Kendinizi Geliştirmek Elinizde Daha Güçlü Uygulumalar Yapabilirsiniz Biraz Kurcalamak Gerek.
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.




