“ifconfig” dá um erro no Bash no Ubuntu no Windows

“ifconfig” dá um erro no Bash no Ubuntu no Windows

Quando tento usar o comando "ifconfig" no Bash no Ubuntu no Windows (WSL), ocorre um erro como este: -

root@exemplo:~#ifconfig
Aviso: não é possível abrir /proc/net/dev (não existe tal arquivo ou diretório). Produção limitada.

E quando tento executar "iwconfig": -

eth0 sem extensões sem fio.

wifi0 sem extensões sem fio.

Não há extensões sem fio.

und0 sem extensões sem fio.

und1 sem extensões sem fio.

Isso me leva a crer que não detectou os dispositivos de rede, mas então como funciona a internet? A Internet funciona bem, como eu useiapt-getpara instalar aplicativos;

Não sou um profissional de Linux, muito menos um profissional de WSL, então poderia ter alguns conselhos sobre como superar esse problema?

Responder1

WSL não executa um kernel Linux completo – ele apenas traduz cada syscall individual para sua variante do Windows. Portanto a WSL nãoprecisarpara "detectar" dispositivos da mesma forma que o Linux real faria, porque o próprio Windows já fez isso.

Além disso, “detectar” um dispositivo não é a mesma coisa que expor informações sobre ele. Os arquivos contidos /proc/netsão apenas para fins informativos; eles não são necessários para realmente usar a rede. Portanto, não é um grande problema se eles estiverem faltando.

Além disso,a maioria dos programas de redeNão ligosobre os dispositivos reais;eles lidam apenas com funções de alto nível (soquetes BSD) e deixam o sistema operacional cuidar dos detalhes. Portanto, desde que o WSL implemente funções como socket()and connect()e sendto(), isso é o suficiente.


A situação iwconfigé semelhante: os dispositivos sem fio sãogerenciado pelo próprio Windows; WSL simplesmente não sabe como traduzir as informações do link para programas Linux, mas a maioria deles não precisa saber disso de qualquer maneira.

Além disso, iwconfigé uma ferramenta antiga que usa a quase obsoleta API WEXT. Suspeito que os desenvolvedores se preocupariam mais em criar ferramentas modernas baseadas em nl80211, comoiwtrabalhe primeiro.

(Mesmo muitos drivers Linux não suportam mais o WEXT diretamente – eles apenas o emulam sobre o nl80211.)

informação relacionada