Existe algum comando do Linux que eu possa usar para mostrar todas as interfaces de rede, exceto ifconfig

0

Eu tenho que configurar uma conexão de rede em uma instalação do Arch Linux (no Virtualbox) e preciso saber quais interfaces de rede estou usando. Como posso fazer isso sem usar ifconfig ?

    
por user18297 13.07.2017 / 03:08

4 respostas

4

A ferramenta ifconfig (de net-tools ) está sendo reprovada em favor da ferramenta ip , que faz parte da suíte iproute2 .

Isto irá listar as interfaces e seus endereços de IP se eles tiverem um:

ip addr
    
por 13.07.2017 / 04:09
2

O site Linux.com tem o artigo a seguir sobre a substituição do ifconfig comando com ip :

The first thing most people learn with the ifconfig command is how to find out what IP address has been assigned to an interface. This is usually done with the command ifconfig and no flags or arguments. To do the same with the ip command, it is run as such:

ip a

This command will list all interfaces with their associated information (Figure 1 above).

Let’s say you only want to see IPv4 information (for clarity). To do this, issue the command:

ip -4 a

Or, if you only want to see IPv6 information:

ip -6 a

What if you only want to see information regarding a specific interface? You can list information for a wireless connection with the command:

ip a show wlan0

You can even get more specific with this command. If > you only want to view IPv4 on the wlan0 interface, issue the command:

ip -4 a show wlan0

You can even list only the running interface using:

ip link ls up

    
por 13.07.2017 / 05:14
0

Você também pode cli para a GUI do Network Manager, com o comando para listar as interfaces disponíveis, seu tipo, estado de conexão e conexão geral "name"

nmcli dev status

Ou você pode ir mais longe com

nmcli dev show

Que produzirá um resultado semelhante ao comando ipconfig /all do Windows:

acejavelin@BlazingIcicle ~ $ nmcli dev show
GENERAL.DEVICE: enp2s0
GENERAL.TYPE: ethernet
GENERAL.HWADDR: F8:32:E4:BD:00:00
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: Wired connection 1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/0
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.168.1.188/24
IP4.GATEWAY: 192.168.1.1
IP4.ROUTE[1]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.DNS[1]: 208.67.220.220
IP4.DNS[2]: 208.67.222.222
IP4.DNS[3]: 192.168.1.1
IP6.ADDRESS[1]: fe80::36f1:930b:48a:ab0e/64
IP6.GATEWAY:

GENERAL.DEVICE: lo
GENERAL.TYPE: loopback
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 65536
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
IP4.ADDRESS[1]: 127.0.0.1/8
IP4.GATEWAY:
IP6.ADDRESS[1]: ::1/128
IP6.GATEWAY:
acejavelin@BlazingIcicle ~ $

Isso também pode ser refinado para a interface específica

nmcli dev show eth0 ou nmcli dev show wl0

Também achei útil usar um alias de ipconfig para realmente ser nmcli dev show em vários computadores que uso.

    
por 17.07.2017 / 05:17
0

Existe outra opção: usar os diretórios fornecidos pelo kernel (sysfs).

ls /sys/class/net/

Dessa forma, é fácil escrever:

for interface in $(ls /sys/class/net/) ; do
   echo $interface
   # ...
done

Observe que os subdiretórios podem oferecer algumas informações sobre os aspectos do nível de link (como o endereço MAC Ethernet), mas não coisas como endereço IP.

Caso alguém queira saber o que pode ser encontrado lá, aqui está a documentação: link

    
por 18.08.2017 / 06:25