Çözüldü Bağlı olunan modemin MAC adresini nasıl alınır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

GT 145

Decapat
Katılım
29 Temmuz 2021
Mesajlar
737
Çözümler
1
Python ile bağlı olduğum modemin MAC adresini nasıl alırım? Kötü bir amaç için kullanmayacağım.
 
Çözüm
Bash:
pip install psutil
Python:
import psutil

adresses = psutil.net_if_addrs()
stats = psutil.net_if_stats()
for interface in adresses:
    if adresses[interface][0].address and stats[interface].isup:
        print(interface, adresses[interface][0].address.replace("-", ":"))
Çalışmakta olanların adreslerini veriyor.
Hocam subprocess yerine daha cross-platform kütüphane var mı önerebileceğiniz?

Yorum niye silindi anlamadım.
 
Son düzenleme:
Modemler mac adreslerini bilgisayarlara bildiriyor mu ki?
 
@GT 145 kısa bir araştırma ile bulabilirsin. Linux'ta hardware adress diye de geçer.
 
Son düzenleme:
Hocam IP adresi biliniyorsa bulabiliyoruz diye biliyorum.
Kendi cihazlarınınkini bulabiliyorsun, evet. Ama modem kendi mac'ini bağlı cihazlara bildiriyor mu?

Yani modeme bağlanan her cihaz ona mac'ini bildiriyor. Bu şekilde bağlı cihazın kimliğini tespit ediyorsun. Ama modem geri cevap olarak kendi macini bildiriyor mu bağlananlara? Mesela ipconfig /all dediğimde sadece cihazımda bulunan ağ kartlarının (bluetooth, wifi etc.) mac adresslerini görebiliyorum. getmac komutu da yine aynı şekilde sadece bunları bildiriyor. Modemimin altında yazan mac adresini hiç bir şekilde göremedim, ne telefondan, ne bilgisayardan. O yüzden diyorum, modem kendi macini bağlanan cihazlara bildiriyor mu ki diye.
 
Bildirir. IP altinda ethernet protokolu var. IP onun ustune yatiyor.

Ethernet protocolude MAC addresslemeyi kullanir.

Soruya cevap olarak. Eger linuxta isen su komutun ciktisina bakacan:
" ip neighbour "
 
Bash:
pip install psutil
Python:
import psutil

adresses = psutil.net_if_addrs()
stats = psutil.net_if_stats()
for interface in adresses:
    if adresses[interface][0].address and stats[interface].isup:
        print(interface, adresses[interface][0].address.replace("-", ":"))
Çalışmakta olanların adreslerini veriyor.
 
Çözüm
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…