Olá Humanos, durante um tempo venho brincando com python para redes, fiquei em meu tempo vago programando algo para ler a porta de rede wlan0, e me mostrar em tela o que rola, enfim bem simples mesmo algo como disse para passar o tempo.
Vamos usar as bibliotecas (os, time) # leia a documentação
Vamos entender o codigo !
Nas linhas 1 e 2 importamos as bibliotecas que vamos usar para saber mais leia a documentação delas (os, time)
Linhas 3 a 5, uma função chamada wifi sem parametros criamos para em seguida salvar na variavel wlan0 que vamos pegar direito da biblioteca os usando a função popen que faz uma leitura com a função read(), porem o dado que recebemos precisa ser tratado, tirar espaços e barra n "\n" da vida, usamos uma função muito conhecida em listas onde fatiamos(split()) que recebe o paramentro que queremos tirar da nossa string, por que sim recebe um dado tipo string, so que quando fazemos isso ela vira uma lista e precisamos juntar tudo de novo com uma função join, na linha 5 ela vai returnar com um split de novo, para tirar os barra ns da vida kkkk
Linha 6 a 7, uma simples função para limpar tela, usamos a biblioteca os para acessar o metodo system e rodar um comando de shell 'clear'.
Linha 8 e 9, uma função para criar um delay simples.
Linha 10 a 22, esta parte entra o loop infinito onde pegamos a lista gerada pela função wifi, depois usamos um loop for para contar os itens da lista e retornar um numero tipo inteiro para ser lido pela função range, que passa a ser iterado pelo loop for, no loop rodamos um try(tente) para mostrar algo na tela no caso acessar minha lista chamado essid item por item usando a variavel p, e exceção(excpetion) para caso der um erro, falar foda-se use um pass para ignorar e continuar o loop.
Happy Hacking !!! @Darktomate
Vamos usar as bibliotecas (os, time) # leia a documentação
1: import os
2: import time
3: def wifi():
4: wlan0 = "".join((os.popen("iwlist wlan0 scan | grep ESSID").read()).split(" "))
5: return wlan0.split("\n")
6: def clear():
7: os.system("clear")
8: def delay(sleep):
9: time.sleep(sleep)
10: while True:
14: essid = wifi()
15: print "#" * 80
16: delay(1)
17: print "\n"
18: for p in range(len(essid)):
19: try:
20: print "[",essid[p],"]\t*[", essid[p+1],"]\n[",essid[p+2],"]\t*","[",essid[p+3],"]"
21: except:
22: pass
Vamos entender o codigo !
Nas linhas 1 e 2 importamos as bibliotecas que vamos usar para saber mais leia a documentação delas (os, time)
Linhas 3 a 5, uma função chamada wifi sem parametros criamos para em seguida salvar na variavel wlan0 que vamos pegar direito da biblioteca os usando a função popen que faz uma leitura com a função read(), porem o dado que recebemos precisa ser tratado, tirar espaços e barra n "\n" da vida, usamos uma função muito conhecida em listas onde fatiamos(split()) que recebe o paramentro que queremos tirar da nossa string, por que sim recebe um dado tipo string, so que quando fazemos isso ela vira uma lista e precisamos juntar tudo de novo com uma função join, na linha 5 ela vai returnar com um split de novo, para tirar os barra ns da vida kkkk
Linha 6 a 7, uma simples função para limpar tela, usamos a biblioteca os para acessar o metodo system e rodar um comando de shell 'clear'.
Linha 8 e 9, uma função para criar um delay simples.
Linha 10 a 22, esta parte entra o loop infinito onde pegamos a lista gerada pela função wifi, depois usamos um loop for para contar os itens da lista e retornar um numero tipo inteiro para ser lido pela função range, que passa a ser iterado pelo loop for, no loop rodamos um try(tente) para mostrar algo na tela no caso acessar minha lista chamado essid item por item usando a variavel p, e exceção(excpetion) para caso der um erro, falar foda-se use um pass para ignorar e continuar o loop.
Happy Hacking !!! @Darktomate
Oi Juan, eu tentei usar aqui, mas não reconhece o comando iwlist. Você rodou em Linux? Eu estou usando Windows 8.
ResponderExcluir