Yardım Belirli bir wifi mac adresini tarayıp yayın yaptığı kanalı bulmak

Bu konuyu okuyanlar

NoobFlyy

Öğrenci
Katılım
2 Eylül 2020
Mesajlar
14
Reaksiyon puanı
2
Puanları
3
Yaş
39
Merhabalar bu işlem linux tabanlı olarak çalışıcak tam olarak yapmaya çalıştığım şey bir mac veya bssid üzerinden wifiyi bulup sürekli olarak yayın yaptığı kanalı yazdırmak yani ekrana print etmek bir kütüphane veya bir şekilde bunu yapabilmeme yardımcı olabilicek birşey varmıdır? direkmen wifi kütüphanesini denedim lakin tam olarak tüm wifileri tarayabiliyor sadece bir tane wifiyi hedef alıp sadece onun yayın yaptığı kanalı (channel) bulmayı bir türlü beceremedim.

Örnek:

Kırmızı ile işaretli alan tarama sonucu gelen modemin yayın yaptığı kanal ve bu kanalı bir şekilde python ile okuyup ekrana print etmesini istiyorum print etmesini sağladıktan sonra bunu bir değişkene dökebilirim.
wifi.png
 

41ph337h4

Doçent
Katılım
12 Mart 2021
Mesajlar
505
Çözümler
2
Reaksiyon puanı
579
Puanları
93
os.system("<linuxta bu çıktıyı aldığın komut>") daha sonra her seferinde silip yeniden yazdırmasını sağlayacak while döngüsüne alacaksın.
Mesaj otomatik birleştirildi:

Linuxta bu çıktıyı aldığın komut derken resimdeki bu monitor tarzı ekrandan bahsediyorum.
 

NoobFlyy

Öğrenci
Katılım
2 Eylül 2020
Mesajlar
14
Reaksiyon puanı
2
Puanları
3
Yaş
39
os.system("<linuxta bu çıktıyı aldığın komut>") daha sonra her seferinde silip yeniden yazdırmasını sağlayacak while döngüsüne alacaksın.
Mesaj otomatik birleştirildi:

Linuxta bu çıktıyı aldığın komut derken resimdeki bu monitor tarzı ekrandan bahsediyorum.
Evet os system komudunu biliyorum lakin içerisinde sadece istediğim mac adresini tarayıp sürekli olarak channel yani fotoğraftaki "ch" nin altındaki sayıyı almam gerekiyor ki ekrana print edebileyim veya bir değişkene aktarabileyim
 

41ph337h4

Doçent
Katılım
12 Mart 2021
Mesajlar
505
Çözümler
2
Reaksiyon puanı
579
Puanları
93
Evet os system komudunu biliyorum lakin içerisinde sadece istediğim mac adresini tarayıp sürekli olarak channel yani fotoğraftaki "ch" nin altındaki sayıyı almam gerekiyor ki ekrana print edebileyim veya bir değişkene aktarabileyim
grep "<hangi kanalda olduğunu görmek istediğin mac adresi>" | <bu ekrana gelmek için kullandığın komut>
 

NoobFlyy

Öğrenci
Katılım
2 Eylül 2020
Mesajlar
14
Reaksiyon puanı
2
Puanları
3
Yaş
39
grep "<hangi kanalda olduğunu görmek istediğin mac adresi>" | <bu ekrana gelmek için kullandığın komut>
Grep komutu için herhangi bir modül import etmem gerekiyormu?
Grep komutunda hatayla karşılaşıyorum
Mesaj otomatik birleştirildi:

grep "<hangi kanalda olduğunu görmek istediğin mac adresi>" | <bu ekrana gelmek için kullandığın komut>
Bu bir python dosyası içerisinde çalışmaya uygun getirmek için şu şekilde yaptım

import os
os.system("grep 5C:63:BF:E9:16:A7") | os.system("airodump-ng wlan0")
lakin sanki sleep.time komudu vermişim gibi birşey yapmadan bekliyor.
 
Son düzenleme:

41ph337h4

Doçent
Katılım
12 Mart 2021
Mesajlar
505
Çözümler
2
Reaksiyon puanı
579
Puanları
93
Grep komutu için herhangi bir modül import etmem gerekiyormu?
Grep komutunda hatayla karşılaşıyorum
Mesaj otomatik birleştirildi:


Bu bir python dosyası içerisinde çalışmaya uygun getirmek için şu şekilde yaptım

import os
os.system("grep 5C:63:BF:E9:16:A7") | os.system("airodump-ng wlan0")
lakin sanki sleep.time komudu vermişim gibi birşey yapmadan bekliyor.
import os yapman gerek sanırım.
 

NoobFlyy

Öğrenci
Katılım
2 Eylül 2020
Mesajlar
14
Reaksiyon puanı
2
Puanları
3
Yaş
39
"|" işaretinden sonra tekrar os.system yazma grepten sonra koyman gerek.
Sürekli olarak wifileri taramaya devam ediyor ve tam olarak gep komudunu anlayamadım belki başka bir wifi tarama komudu işe yarayabilir
 

41ph337h4

Doçent
Katılım
12 Mart 2021
Mesajlar
505
Çözümler
2
Reaksiyon puanı
579
Puanları
93
Sürekli olarak wifileri taramaya devam ediyor ve tam olarak gep komudunu anlayamadım belki başka bir wifi tarama komudu işe yarayabilir
Grep komutu ondan sonra gelen komutun olabilecek çıktılarını listeler.
 

lamer

Asistan
Katılım
3 Nisan 2021
Mesajlar
228
Reaksiyon puanı
150
Puanları
43
Yaptığın işlemi tek bir modem için gerçekleştirebilmen için, bssid ile birlikte kanal numarasını vererek o modemin detaylarına girebilirsin anca. Ama sen belirli bir modemin yayın yaptığı kanalı sürekli olarak taramak istiyorsun. O yüzden tüm ağları tarayacak şekilde (monitör modunda) bu işlemi gerçkelleştirip aldığın çıktıyı parse etmen gerekiyor. Yani diğer arkadaşın dediği GREP komutuyla o satırı alman gerekiyor.

Sadece istediğin modemi belirttiğin şekilde takip etmek -kanal numarasını vermeden veya o ağa girmeden- olmaz.
 

NoobFlyy

Öğrenci
Katılım
2 Eylül 2020
Mesajlar
14
Reaksiyon puanı
2
Puanları
3
Yaş
39
Yaptığın işlemi tek bir modem için gerçekleştirebilmen için, bssid ile birlikte kanal numarasını vererek o modemin detaylarına girebilirsin anca. Ama sen belirli bir modemin yayın yaptığı kanalı sürekli olarak taramak istiyorsun. O yüzden tüm ağları tarayacak şekilde (monitör modunda) bu işlemi gerçkelleştirip aldığın çıktıyı parse etmen gerekiyor. Yani diğer arkadaşın dediği GREP komutuyla o satırı alman gerekiyor.

Sadece istediğin modemi belirttiğin şekilde takip etmek -kanal numarasını vermeden veya o ağa girmeden- olmaz.
Grep komutu ondan sonra gelen komutun olabilecek çıktılarını listeler.
Bulabildiğim tek bir örnek wifi kanalını seçen python kodu bu içerisinde çok düşündüm ama bir türlü "sürekli bir şekilde tarayıp seçtiğimiz wifideki kanalı güncel bir şekilde" çıktısını verebilen hiçbir şeye ulaşamadım bir şekilde yardımcı olabilirmisiniz?

 

41ph337h4

Doçent
Katılım
12 Mart 2021
Mesajlar
505
Çözümler
2
Reaksiyon puanı
579
Puanları
93
pip install python-wifi
from pythonwifi.iwlibs import Wireless wifi = Wireless('wlan0') num_frequencies, channels = wifi.getChannelInfo() current_freq = wifi.getFrequency() # Only for 2.4 GHz print channels.index(current_freq) + 1
python-wifi
 

lamer

Asistan
Katılım
3 Nisan 2021
Mesajlar
228
Reaksiyon puanı
150
Puanları
43
Bulabildiğim tek bir örnek wifi kanalını seçen python kodu bu içerisinde çok düşündüm ama bir türlü "sürekli bir şekilde tarayıp seçtiğimiz wifideki kanalı güncel bir şekilde" çıktısını verebilen hiçbir şeye ulaşamadım bir şekilde yardımcı olabilirmisiniz?

Bu paylaştığınız kod bir wi-fi ağı üzerinde deauthentication atak gerçekleştiriyor. Yanlış anlamadıysam sizin yapmak istediğiniz belirli bir X modeminin hangi kanalda yayın yaptığını belirli aralıklarla (mesela 10 sanyede bir) belirli bir değişkene atmak. Bu değişken ile ne yapmak istediğinizi de söylerseniz daha iyi yardımcı olabilirim
 

NoobFlyy

Öğrenci
Katılım
2 Eylül 2020
Mesajlar
14
Reaksiyon puanı
2
Puanları
3
Yaş
39
X modeminin kanalını *sürekli olarak* veya 3 saniyede bir hangi kanaldan yayın yaptığını tarayıp bunu bir değişkene örnek olarak
modemx = *kanal* diyerek kaydetmesini istiyorum tam olarak yapmak istediğim şey sadece bu herhangi bir hedefim veya amacım şuanlık yok
Bu paylaştığınız kod bir wi-fi ağı üzerinde deauthentication atak gerçekleştiriyor. Yanlış anlamadıysam sizin yapmak istediğiniz belirli bir X modeminin hangi kanalda yayın yaptığını belirli aralıklarla (mesela 10 sanyede bir) belirli bir değişkene atmak. Bu değişken ile ne yapmak istediğinizi de söylerseniz daha iyi yardımcı olabilirim
 
Son düzenleme:

lamer

Asistan
Katılım
3 Nisan 2021
Mesajlar
228
Reaksiyon puanı
150
Puanları
43
X modeminin kanalını *sürekli olarak* veya 3 saniyede bir hangi kanaldan yayın yaptığını tarayıp bunu bir değişkene örnek olarak
modemx = *kanal* diyerek kaydetmesini istiyorum tam olarak yapmak istediğim şey sadece bu herhangi bir hedefim veya amacım şuanlık yok
Python:
import csv
import os
import subprocess
import time
wlan=input()
os.system('echo istediğin ağ ismini gir:')
name=input()
while(1):
    try:
        os.system('airodump-ng -w csvOutput --output-format csv '+wlan)
        time.sleep(5)
        os.system('clear')
        with open('csvOutput-01.csv', 'rt') as f:
            reader = csv.reader(f, delimiter=',')
            i=0
            for row in reader:
                if(i>2):
                    if(" "+name in row):
                        result=row[3]
                i+=1
        os.system('rm csvOutput-01.csv')
        os.system('echo Yayın yapılan kanal: '+result)
        time.sleep(5)

Çok vaktim olmadığı için basit bir script yazdım. Bu scripti çalıştırdığında shell üzerinde, ilk satıra kullandığın arayüzü yaz (mesela wlan0 wlan0mon gibi), ikinci satıra da takip etmek istediğin modemin ismini. Şuan her listeleme yaptıgında ctrl+c ile airodumpu interrupt etmen gerekiyor. Her interrupt sonunda terminalde yayın yapılan kanalı bastırır (result değişkeni) ve 5 saniye bekleyip ağları tekrar tarar ve tekrar yazdırır. Bu tarama işlemini subprocess yapıp terminate() fonksiyonu kullanarak ctrl+c yapmaktan kurtulabilirsin.
 

NoobFlyy

Öğrenci
Katılım
2 Eylül 2020
Mesajlar
14
Reaksiyon puanı
2
Puanları
3
Yaş
39
Python:
import csv
import os
import subprocess
import time
wlan=input()
os.system('echo istediğin ağ ismini gir:')
name=input()
while(1):
    try:
        os.system('airodump-ng -w csvOutput --output-format csv '+wlan)
        time.sleep(5)
        os.system('clear')
        with open('csvOutput-01.csv', 'rt') as f:
            reader = csv.reader(f, delimiter=',')
            i=0
            for row in reader:
                if(i>2):
                    if(" "+name in row):
                        result=row[3]
                i+=1
        os.system('rm csvOutput-01.csv')
        os.system('echo Yayın yapılan kanal: '+result)
        time.sleep(5)

Çok vaktim olmadığı için basit bir script yazdım. Bu scripti çalıştırdığında shell üzerinde, ilk satıra kullandığın arayüzü yaz (mesela wlan0 wlan0mon gibi), ikinci satıra da takip etmek istediğin modemin ismini. Şuan her listeleme yaptıgında ctrl+c ile airodumpu interrupt etmen gerekiyor. Her interrupt sonunda terminalde yayın yapılan kanalı bastırır (result değişkeni) ve 5 saniye bekleyip ağları tekrar tarar ve tekrar yazdırır. Bu tarama işlemini subprocess yapıp terminate() fonksiyonu kullanarak ctrl+c yapmaktan kurtulabilirsin.
Ellerine sağlık çok teşekkürler
Lakin ufak bi hata alıyorum resimdeki gibi
Mesaj otomatik birleştirildi:

Ellerine sağlık çok teşekkürler
Lakin ufak bi hata alıyorum resimdeki gibi hiçbir değişiklik yok kodda
 

Ekli dosyalar

  • hata.png
    hata.png
    39.1 KB · Görüntüleme: 76

lamer

Asistan
Katılım
3 Nisan 2021
Mesajlar
228
Reaksiyon puanı
150
Puanları
43
Ellerine sağlık çok teşekkürler
Lakin ufak bi hata alıyorum resimdeki gibi
Mesaj otomatik birleştirildi:
Copy paste yaptıysanız indent problemi olmuştur. 24.satır civarındaki girintileri (tabları) düzenleyip çalıştırın.
 

NoobFlyy

Öğrenci
Katılım
2 Eylül 2020
Mesajlar
14
Reaksiyon puanı
2
Puanları
3
Yaş
39
Copy paste yaptıysanız indent problemi olmuştur. 24.satır civarındaki girintileri (tabları) düzenleyip çalıştırın.
Kodu elim ile yazdığımda while(1): kodundan sonrasında bu hatayı görüyor
Mesaj otomatik birleştirildi:

Ek olarak while komudunun altındaki try'ı silerek while true: yaparak hatayı çözdüm deneme imkanım olmadı denediğim zaman geri dönüş yaparım
 
Son düzenleme:

lamer

Asistan
Katılım
3 Nisan 2021
Mesajlar
228
Reaksiyon puanı
150
Puanları
43
Kodu elim ile yazdığımda while(1): kodundan sonrasında bu hatayı görüyor
Mesaj otomatik birleştirildi:

Ek olarak while komudunun altındaki try'ı silerek while true: yaparak hatayı çözdüm deneme imkanım olmadı denediğim zaman geri dönüş yaparım
Ben başlangıçta keyboard ınterrupt koyabilmek için try except blogu yazmistim. Except kaldırdıktan sonra try ı silmeyi unutmusum kusura bakma?
 

NoobFlyy

Öğrenci
Katılım
2 Eylül 2020
Mesajlar
14
Reaksiyon puanı
2
Puanları
3
Yaş
39
Ben başlangıçta keyboard ınterrupt koyabilmek için try except blogu yazmistim. Except kaldırdıktan sonra try ı silmeyi unutmusum kusura bakma?
Yok başkan ne kusura bakması ellerine sağlık çok teşekkürler while true: ile düzelttiğimde çalıştı tekrardan çok sağol
 

NoobFlyy

Öğrenci
Katılım
2 Eylül 2020
Mesajlar
14
Reaksiyon puanı
2
Puanları
3
Yaş
39
Ben başlangıçta keyboard ınterrupt koyabilmek için try except blogu yazmistim. Except kaldırdıktan sonra try ı silmeyi unutmusum kusura bakma?
Python:
"
def scan():
    tarama = subprocess.Popen(["airodump-ng", "-w", "csvOutput", "--output-format", "csv", "wlan0mon"])
    time.sleep(2)
    tarama.terminate()
    os.system('clear')
    time.sleep(0.1)
    with open('csvOutput-01.csv', 'rt') as f:
        reader = csv.reader(f, delimiter=',')
        i=0
        for row in reader:
            if(i>2):
                if(" "+name in row):
                    result=row[3]
            i+=1
while True:
    scan()
    print(result)
"

Bu şekilde bir koda dönüştürdüm lakin en alttaki print(result) kısmında hata alıyorum zamanın varsa nası çözebiliceğim hakkında fikrini almak isterim lamer kodda hiçbir sıkıntı yok sadece print kısmında result parametresini sanırım aklında tutmuyor kod
 

lamer

Asistan
Katılım
3 Nisan 2021
Mesajlar
228
Reaksiyon puanı
150
Puanları
43
Python:
def scan():
    result="";
    tarama = subprocess.Popen(["airodump-ng", "-w", "csvOutput", "--output-format", "csv", "wlan0mon"])
    time.sleep(2)
    tarama.terminate()
    os.system('clear')
    time.sleep(0.1)
    with open('csvOutput-01.csv', 'rt') as f:
        reader = csv.reader(f, delimiter=',')
        i=0
        for row in reader:
            if(i>2):
                if(" "+name in row):
                    result=row[3]

            i+=1
    return result;     
while True:
    result=scan()
    print(result)

Fonksiyonun return degerine sahip olmali. Daha sonrasnda fonksiyon sonucunu bir degiskene atamalisin. Yukaridaki sekilde.
 
Üst