GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Erro Wireless Python

python
Tags: #<Tag:0x00007fbf3c7c3ac8>

#1

Olá. Eu recentemente encontrei este módulo, eu achei bem interessante porque permite se conectar a uma rede wireless com poucas linhas, então eu fiz um script para testar:

#!/usr/bin/python 
from wireless import Wireless 
 
class Main: 
    if __name__ == "__main__": 
         print("iniciou") 
         wireless = Wireless() 
         wireless.connect(ssid='wifi', password='qwerty') 
         print("terminou")

E quando eu o executo, recebo este retorno:

iniciou
Traceback (most recent call last):
  File "TestConnect.py", line 4, in <module>
    class Main:
  File "TestConnect.py", line 7, in Main
    wireless = Wireless()
  File "/usr/local/lib/python2.7/dist-packages/wireless/Wireless.py", line 23, in __init__
    self._driver_name = self._detectDriver()
  File "/usr/local/lib/python2.7/dist-packages/wireless/Wireless.py", line 47, in _detectDriver
    response = cmd('nmcli --version')
  File "/usr/local/lib/python2.7/dist-packages/wireless/Wireless.py", line 11, in cmd
    stdout=subprocess.PIPE, stderr=subprocess.STDOUT
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 22: ordinal not in range(128)

Realmente o nome e a senha estão incorretas, porém eu já testei com os dados corretos na minha rede e deu no mesmo erro. Alguém sabe me dizer o que eu fiz de errado?


#2

Amigo,
UnicodeDecodeError, trata de erro de codificação de caracter, pelo trace do erro, o problema parece estar no quando você cria o objeto “wireless = Wireless()”, pode ser que o resultado do comando “nmcli --version” esteja retornando algum caracter não tratavel.

Da uma olhada nesse link “https://wiki.python.org/moin/UnicodeDecodeError


#3
root@meukali:~# nmcli --version
ferramenta nmcli, versão 1.2.4

Tem ideia do que eu posso fazer para evitar isso?


#4

Meio óbvio a solução né :joy:, mas só agora que eu percebi. Eu mudei o idioma do sistema operacional e o erro sumiu, porém agora o retorno no console é esse:

iniciou
Traceback (most recent call last):
  File "TestConnect.py", line 4, in <module>
    class Main:
  File "TestConnect.py", line 7, in Main
    wireless = Wireless()
  File "/usr/local/lib/python2.7/dist-packages/wireless/Wireless.py", line 41, in __init__
    raise Exception('Unable to auto-detect the network interface.')
Exception: Unable to auto-detect the network interface.

Obs: Não sei se isso significa algo, mas eu estou executando esse script em uma máquina virtual.


#5

Voltando para o idioma em portugues, coloca isso no inicio do scpript “# -- coding: latin-1 --”, depois do “#!/usr/bin/python”

Quanto ao "Unable to auto-detect the network interface."
Qual o resultado do comando ifconfig?

Provavelmente vc não tem uma rede wireless configurada.


#6
root@meukali:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.103  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a00:27ff:fed0:d977  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:d0:d9:77  txqueuelen 1000  (Ethernet)
        RX packets 3423  bytes 4210080 (4.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2727  bytes 303826 (296.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 18  bytes 1058 (1.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 18  bytes 1058 (1.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

#7

Se a maquina (mesmo sendo virtual) que você está rodando o python não ter dispositivo wireless configurado, creio que seu código não vai funcionar…

Pesquise como configurar a rede wifi para a distro que está rodando python e depois de configurado tente rodar seu código novamente…

OBS: melhor desabilitar a conexão cabeada, para evitar conflitos de rede…


#8

Eu estou com problemas, por mais que eu coloque para utilizar o adaptador Wireless, fica sempre no cabo, mas como esse não é o assunto do tópico, eu vou tentar resolver o problema. Assim que eu resolver eu testo o script e volto aqui para dizer se funcionou.


#9

Em ambientes virtualizados é dificil configurar mesmo, você está usando virtualbox?

Veja se ajuda

Ou então tenta arrumar algum notebook pra testar…


#10

Sim, eu estou utilizando o VirtualBox, porém mesmo estando tudo correto fica o simbolo do cabo conectado.


#11

E essa opção de “Cabo conectado” aí? :joy:

Já desligou pra testar?


#12

Sim, mas daí não funciona a internet.


#13

Vocẽ precisa configurar a rede na máquina hóspede informando o ssid e tal, qual distro está usando, ubuntu?

E além do mais mesmo no sistema hóspede você consegue desligar o cabo de rede…


#14

Kali Linux.[quote=“LostSoldier, post:13, topic:343657”]
Vocẽ precisa configurar a rede na máquina hóspede informando o ssid e tal
[/quote]
Cara, eu sei muito pouco sobre redes, só o básico mesmo, eu tô bem perdido kkkk.


#15

A lógica é simples, no virtualbox a configuração que você fez foi de apenas habilitar a placa wireless, a configuração da rede você precisa fazer pelo sistema hóspede, ou seja pelo kali…

Mantenha o cabo desconectado


#16

Em alguns casos você precisará instalar drivers adicionais no sistema hóspede…

Guest Additions


#17

Cara não funcionou.


#18

Se eu disser que não instalei os adicionais para convidado conta? Apareceu uma mensagem de erro na hora de instalar, então eu não instalei.


#19

Voltamos à questão do locale, qual idioma você instalou o kali no virtualbox, lendo seus posts você tinha modificado, creio que precisa voltar o idioma que estava na instalação…


#20

Não, esse erro ocorria antes também.