Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Python harici, yerel ip no ve ağ geçidi numarası öğrenme

Konu, 'Python / Zope' kısmında Erdem⁣ tarafından paylaşıldı.

  1. Erdem⁣

    Erdem⁣ Üye

    Kayıt:
    1 Temmuz 2012
    Mesajlar:
    141
    Beğenilen Mesajlar:
    22
    Meslek:
    Programcı
    Şehir:
    Eskişehir
    Daha önce bahsettiğim sunucu güvenliği uygulamasında kendi IP numaralarımıza blok koymamak için yerel, uzak ip ve ağ geçidi numaralarını öğrenmem gerekti.

    Belki bazı arkadaşların işine yarayabilir diye paylaşıyorum.

    Kod:
    import ipgetter
    
    class Bekçi():
        def __init__(self):
            self.beyazliste = []
            self.hariciip = ipgetter.myip()
            self.yerelip = self.ipNoÖğren()
            self.ağgeçidi = self.ağGeçidiniÖğren()
            self.beyazliste.append(self.hariciip)
            self.beyazliste.append(self.yerelip)
            self.beyazliste.append(self.ağgeçidi)
            print('Beyaz liste ', self.beyazliste)
     
        # diğer kodlar
        def ipNoÖğren(self):
            import socket
            s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
            s.connect(("8.8.8.8", 80))
            return s.getsockname()[0]
    
        def ağGeçidiniÖğren(self):
            import socket, struct
            with open("/proc/net/route") as fh:
                for line in fh:
                    fields = line.strip().split()
                    if fields[1] != '00000000' or not int(fields[3], 16) & 2:
                        continue
                    return socket.inet_ntoa(struct.pack("<L", int(fields[2], 16)))
    
    Harici ip adresini bulmak için kullandığımız kütüphanenin kaynak kodunu buradan bulabilirsiniz.

    phoemur/ipgetter
     
    Son düzenleme: 14 Mart 2018
Benzer Konular
Yüklüyor...