ARP taraması için hazır kod

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üye
Katılım
15 Ağu 2021
Mesajlar
31
Tepki puanı
7
Yaş
28
4 HİZMET YILI
arkadaşlar bu kod arp taraması yapıyor kullanmak için scapy kütüphanesini kurun ayriyetten bu tür işlerde winpcap'ı bilgisayaranıza kurmanız gerekir(ağ katmanındaki iletişimi sağlayan yazılım).Geliştirip tekrar paylaşırım işine yarayan arkadaşlar olur diye paylaşıyorum .(kod çalıntı değil ben yazdım)

Python:
import scapy.all as scapy
from tkinter import *

class scan:

    def Arp(self, ip):
        self.ip = ip
        arp_r = scapy.ARP(pdst=ip)
        br = scapy.Ether(dst='ff:ff:ff:ff:ff:ff')
        request = br/arp_r
        answered, unanswered = scapy.srp(request, timeout=1)
        ip_list = []
        mac_list = []

        for i in answered:
            ip, mac = i[1].psrc, i[1].hwsrc
            ip_list.append(ip)
            mac_list.append(mac)
        return ip_list,mac_list

class _interface(scan):

    def __init__(self):
        self.toolbox()
        self.toolboxConfig()

    def toolbox(self):
        self.window = Tk()
        self.canvas = Canvas(bg="gray",width=520)
        self.iprange = Entry(width="30")
        self.addresList = Listbox(width="50",height="10")
        self.label = Label(text = "ip range" , fg = "white" , bg = "black")
        self.list = Button(text = 'scan' , command = self.show_list,bg="brown",width=10)
        self.frame = Frame()

    def show_list(self):
        self.addresList.delete(0,"end")
        self.addresList.insert(1,"             ip addres                                  mac addres  ")
        self.addresList.insert(2,"\n-------------------------------------------------------------")
        ip_list = []
        mac_list = []
        ipRange = self.iprange.get()
        ip_list,mac_list = scan.Arp(self,ipRange)
        append = ""

        for i in range(0 , len(ip_list)):
            if len(ip_list[i]) == 11:
                append = 10*" " + ip_list[i] + 31 * " " + mac_list[i]
            elif len(ip_list[i]) == 12:
                append = 10*" " + ip_list[i] + 29 * " " + mac_list[i]
            else :
                append = 10*" " + ip_list[i] + 28 * " " + mac_list[i]
            self.addresList.insert((i+3),append)

    def toolboxConfig(self):
        self.window.title("ARP SCANNER")
        self.window.resizable(width=False,height=False)
        self.window.geometry("514x185+100+100")
        self.canvas.pack()
        self.iprange.place(x=7 ,y=13)
        self.label.place(x=72,y=39)
        self.list.place(x=60,y=100)
        self.addresList.place(x=200,y=10)
        self.frame.pack(padx=5,pady=5)

if __name__ == '__main__' :
    interface = _interface()
    mainloop()
 
Seçkin Üye
Katılım
22 Kas 2020
Mesajlar
315
Çözümler
1
Tepki puanı
95
Ödüller
3
5 HİZMET YILI
hocam bu arp tam olarak ne oluyor önceden de görmüştüm ama bişey anlamadım konu için teşekkürler ayrica
 
Üye
Katılım
15 Ağu 2021
Mesajlar
31
Tepki puanı
7
Yaş
28
4 HİZMET YILI
hocam bu arp tam olarak ne oluyor önceden de görmüştüm ama bişey anlamadım konu için teşekkürler ayrica
Arp : ip adresini mac adresine ceviren protokoldür . Bilgisayarlar haberleşirken ip adrei değil mac adresi kullanır , bu yüzden bir cihazla haberleşmek istiyorsak ve o cihazın ip adresi elimizde bulunuyorsa arp protokolü ile o cihazın mac adresinini elde ederiz , bu şekilde iki cihaz iletişime geçer.(bloğumda detaylı anlattım ama adres paylaşmak belki burada yasakır diye websitemin adresini paylaşmadım , istersen özelden yazabilirim).
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst