Simple wireless scanner
Publicado por Jonathan (última atualização em 11/11/2023)
[ Hits: 4.972 ]
Simples script em Python que descobre todas as redes Wireless próximas e exibe suas informações, e o resultado de um pouco de pesquisa na z-library usando torbrowser.
#freefreepalestine
from scapy.all import *
from time import sleep
from threading import Thread
import subprocess
import argparse
ap_list = []
class AP:
"""Armazena informação sobre uma rede."""
def __init__(self, essid, bssid):
self.essid = essid.decode('utf-8') # Nome da rede
self.bssid = bssid # MAC do pointo de acesso
return
def show(self):
"""Mostra informação sobre o objeto"""
print(f"[+] ESSID: {self.essid:<40} -- BSSID: {self.bssid.upper()}")
return
def set_channel(interface, channel):
command = ["iwconfig", interface, "channel", f"{ channel }"]
# executa o commando iwconfig
err = subprocess.run(command, stderr=subprocess.PIPE)
if err.stderr:
print(f"error: { err.stderr }")
quit()
return
def network_scanner(interface):
""" Pesquisa todas as redes wifi proximas e salva o ESSID e o BSSID. """
""" Adiciona as redes para network_list. """
def exists(bssid):
"""Não permite duplicata."""
global ap_list
for n in ap_list:
if n.bssid == bssid:
return True # Já existe uma rede com esse endereço.
return False
def probe(frame):
global ap_list
if frame.haslayer(Dot11Beacon):
if not exists(frame.addr2):
ap = AP(frame.info, frame.addr2) # nova rede
ap_list.append(ap)
return
print("[+] SCANNING...", end='')
for i in range(1,12):
set_channel(interface, i)
# Capitura pacotes por 5 segundos e verifica se são anucios de rede
t = AsyncSniffer(iface=interface, prn=probe)
t.start()
for _ in range(25):
sleep(0.2)
print(".",end='')
print()
return
def main():
parser = argparse.ArgumentParser()
# processa argumentos da linha de commando.
parser.add_argument('-i', dest='interface', help="fornecer uma interface")
res = parser.parse_args()
if not res.interface:
parser.print_help() # nenhuma interface fornecida, impreme ajuda e termina
return
network_scanner(res.interface)
for n in ap_list: n.show()
return
if __name__ == '__main__':
main()
HCoin - Preço do Dólar, Bitcoin e Euro em Python
Scanner Wifi in Python [very simple and helpful]
Shell reverso completo - servidor
ArpRequest - requisição arp para endereço físico
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (25)
Ubunto não reconhece rede ethernet (3)
Preciso recuperar videos *.mp4 corrompidos (13)









