Když airodump-ng skenuje pouze jeden kanál a jedno AP (-c 5 --bssid 12:34:56:78:90:AB) a to sledované AP přeskočí na jiný kanál, tak od něj přestanou chodit beacon a spadne RXQ.
Umí v tuto chvíli airodump-ng toto AP vyhledat a zůstat na přeskočeném kanále? Nebo máte tip na script, který by to řešil?
Určitě nechci skenovat všechny kanály, nebo třeba -c 1-11.
už mě to jako vomrzelo takže si dodělej sám

za chyby a prasečiny neručim

#!/usr/bin/env python3
import sys
from subprocess import Popen, PIPE
import re
import time
import logging
# mac adresa cílený
target_bssid = '01:23:45:67:89:AB'
# prefix zapisovanejch *.cap souborů a podobnejch
wr_prefix = 'chyceno'
# monitorovovací interface
interface = '0mon'
# minimální rate beaconů za seknudu
# když naměřenej rate klesne pod tudletu hodnotu tak si jako myslíme že
# ta naše stanice zmenila kanál z nějakýho důvodu :D ;D
min_rate = 5.0
# interval v sekundách ve kterým jakoby ždycky spočitáme aktuální beacon rate
min_delta = 10.0
# příkazy airodumpu
# první pro záznam druhej pro hledání toho kanálu
cmd_rec = ['airodump-ng', '--write', wr_prefix, '--bssid', target_bssid,'-c', None, interface]
cmd_ch = ['airodump-ng', '--bssid', target_bssid, interface]
# jak jako vypadá řádek tabulky pod kterým sou jakoby vypsaný jednotlivý stanice připojený
# uplně horní řádek tabulky vypadá pro voba ty naše různý příkazy různě :O :O
stations_header = b'\x1b[0K\x1b[1B BSSID STATION PWR Rate Lost Frames Notes Probes\x1b[0K\n'
def dump():
table_header = b'\x1b[0K\x1b[1B BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID\x1b[0K\n'
is_bssid_row = False
beacons_delta = 0
last_sum_beacons = 0
last_time = 0.0
rate = 0.0
proc = Popen(cmd_rec, stdout=PIPE)
time.sleep(1)
for line in proc.stdout:
t = time.time()
dt = t - last_time
if dt > min_delta:
if is_bssid_row:
if not line == stations_header:
blocks = re.split(r'\s+', line.decode('utf8'))
block = blocks[4]
try:
sum_beacons = int(block)
except ValueError:
# když neni stringem s číslem uvnitř
continue
beacons_delta = sum_beacons - last_sum_beacons
last_time = t
last_sum_beacons = sum_beacons
if dt != 0:
rate = beacons_delta / dt
print(rate)
if rate < min_rate:
proc.kill()
break
is_bssid_row = False
if( line == table_header):
is_bssid_row = True
if line == table_header:
ln = f'\n beacons/s: {rate:.2f} delta: {beacons_delta} sum:{last_sum_beacons}\n\n'
ln = bytes(ln, 'utf-8')
sys.stdout.buffer.write(ln)
sys.stdout.buffer.write(line)
sys.stdout.buffer.flush()
proc.stdout.close()
proc.wait()
def find_channel():
# liší se :O :O
# stanice maj stejnej jako předtim
table_header = b'\x1b[0K\x1b[1B BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID\x1b[0K\n'
chann_num = -1
is_bssid_row = False
proc = Popen(cmd_ch, stdout=PIPE)
time.sleep(1)
for line in proc.stdout:
if is_bssid_row:
if not line == stations_header:
blocks = re.split(r'\s+', line.decode('utf8'))
print(blocks)
try:
chann_num = int(blocks[6])
proc.kill()
break
except ValueError:
# když neni stringem s číslem uvnitř
continue
is_bssid_row = False
if( line == table_header):
is_bssid_row = True
sys.stdout.buffer.write(line)
sys.stdout.buffer.flush()
proc.stdout.close()
proc.wait()
return chann_num
if __name__ == '__main__':
logging.basicConfig(filename='airodumpovadlo.log', format='%(asctime)s %(message)s', level=logging.DEBUG)
while True:
logging.info('hledá se kanál BSSID == ' + target_bssid)
chann_num = find_channel()
logging.info(f'našel se kanál: {chann_num}')
cmd_rec[6] = str(chann_num)
dump()
logging.info('dump zkončil')
print('hotovo!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!§')
Zkoušeli jste prosím někdo prolomit přes Linux heslo do cizí wifi? Na netu je spousty youtube videí, ale podle mě jsou všechna "podstrčená", kdy daný moderátor dávno heslo zná a pouze jej má ve výsledku ve slovníku a ten daný slovník otevře a kuk, heslo bylo prolomeno.
Oznacovat nieco za konspiraciu, len na zaklade vlastnej nevedomosti je hlupe.
náhodou to je dobrej vodhad si taky jako myslim že ty videjka sou podvod
