fixed thread execution channel hopper
This commit is contained in:
parent
5716d1c438
commit
9d710fa5cb
1 changed files with 9 additions and 10 deletions
19
ctiger.py
19
ctiger.py
|
@ -220,15 +220,16 @@ class Purge(object):
|
|||
def __getitem__(self, pkt):
|
||||
return pkt
|
||||
|
||||
def do_hop(self, mon_if, chans) -> None:
|
||||
def do_hop(self, mon_if, chans, log) -> None:
|
||||
thread = threading.current_thread()
|
||||
log.debug(f'Do Hop: name={thread.name}, daemon={thread.daemon}')
|
||||
ichan = choice(chans)
|
||||
log.debug('Hopping on: {0}'.format(ichan))
|
||||
os.system(f'iw dev {self.mon_if} set channel {str(ichan)}')
|
||||
log.debug('Channel set to {0}'.format(ichan))
|
||||
|
||||
def channel_runner(self, mon_if, channels, lock) -> None:
|
||||
self.mon_if = mon_if
|
||||
self.channels = channels
|
||||
def channel_runner(self, lock, log) -> None:
|
||||
mon_if = self.mon_if
|
||||
log.info('Channel Runner NG started.')
|
||||
log.info('Preliminary channel list: {0}'.format(self.channels))
|
||||
chanlist = self.channels.split(',')
|
||||
|
@ -236,9 +237,10 @@ class Purge(object):
|
|||
chans = [int(chan) for chan in chlist]
|
||||
log.info('Channel list: {0}'.format(chlist))
|
||||
thread = threading.current_thread()
|
||||
print(f'name={thread.name}, daemon={thread.daemon}')
|
||||
log.debug(
|
||||
f'Channel Runner: name={thread.name}, daemon={thread.daemon}')
|
||||
timer = threading.Timer(14.7, self.do_hop,
|
||||
args=(mon_if, chans))
|
||||
args=(mon_if, chans, log))
|
||||
while True:
|
||||
with lock:
|
||||
timer.start()
|
||||
|
@ -329,10 +331,7 @@ class Purge(object):
|
|||
monitor=True)
|
||||
cts_sniff.start()
|
||||
lock = threading.Lock()
|
||||
channel_thread = threading.Thread(target=self.channel_runner,
|
||||
args=(self.mon_if,
|
||||
self.channels, lock))
|
||||
channel_thread.start()
|
||||
self.channel_runner(lock, log)
|
||||
log.info('Channel runner started.')
|
||||
log.info('Probe sniffer started')
|
||||
log.info('CTS sniffer started')
|
||||
|
|
Loading…
Reference in a new issue