İPUCU

Python Artificial Intelligence’da en çok kullanılan dildir ve gerekli dökümanların paylaşım alanlar burada paylaşılmaktadır.

Seçenekler

Python ile Net_Scanner

Posew7 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2018
Mesajlar:
52
Konular:
18
Teşekkür (Etti):
44
Teşekkür (Aldı):
24
Ticaret:
(0) %
07-06-2019 23:56
#1
Python ile Net_Scanner
Cümleten hayırlı geceler beyler, öncelikle kodlar bana ait değildir bunu belirtmeliyim ama birilerinin işine yarayacağını düşünüyorum ve paylaşıyorum. Kullanacağımız kütüphanelerden bahsetmek scapy ve optparse kütüphanelerini kullanacağız. scapy kütüphanesi network ağları için özelleştirilmiş paketler üretme, network tarama ve analiz işlemleri yapılabilen python kütüphanesidir. Forumda detaylı bir anlatım bulunmaktadır https://www.turkhackteam.org/siber-g...ir-taipan.html burdan ulaşabilirsiniz. optparse (option parser) kütüphanesi ise komut satırı seçenekleri için ayrıştıcı amaçlı kullanılmaktadır. Kullanıcının programı çalıştıracağı sırada programa girmesi beklenen parametlerin kolayca girilmesini sağlar.



İndirip çalıştırmak isterseniz (işletim sistemi linux kullandığınızı kabul ediyorum) aşağıdaki adımları izleyebilirsiniz.

Kod:
git clone https://github.com/Posew7/THT_net_scanner.git

cd THT_net_scanner

python net_scanner.py -r 10.0.2.0/24


Şimdi biraz ne yaptığımızdan bahsedecek olursak
Ağımızdaki cihazların mac ve ip adreslerini elde etmek için ARP (The Address Resolution Protocol) paketi oluşturup, ağdaki tüm cihazlara yayınlıyor ve cevapları alıyoruz


Scapy kütüphanesinde scapy.ls fonksiyonu ile oluşturacağımız ARP paketine hangi girdileri verebileceğimize bakabiliriz. Burdan sadece ip'yi seçeceğiz ve kullanıcının taratmak istediği ip aralığını buraya vereceğiz.




Tekrar scapy.ls fonksiyonu ile girdilerimize bakabiliriz. Burdan hedef mac'i seçeceğiz ve "değerini ff:ff:ff:ff:ff:ff" olarak gireceğiz. Bu girdinin anlamı paketi modeme yollayıp her yere dağıtmaktır



Kod:
import scapy.all as scapy
import optparse

#1)arp_request
#2)broadcast
#3)response

def get_user_input():
    parse_object = optparse.OptionParser()
    parse_object.add_option("-r","--range", dest="ip_address",help="Enter IP Address")

    (user_input,arguments) = parse_object.parse_args()

    if not user_input.ip_address:
        print("Enter IP Address")

    return user_input

def scan_my_network(ip):
    arp_request_packet = scapy.ARP(pdst=ip)
    #scapy.ls(scapy.ARP())
    broadcast_packet = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
    #scapy.ls(scapy.Ether())
    combined_packet = broadcast_packet/arp_request_packet
    (answered_list,unanswered_list) = scapy.srp(combined_packet,timeout=1)
    answered_list.summary()

user_ip_address = get_user_input()
scan_my_network(user_ip_address.ip_address)


Konu Posew7 tarafından (08-06-2019 01:55 Saat 01:55 ) değiştirilmiştir.
Gorkem63, umutkalay Teşekkür etti.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı