[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Capturar nombre de interfase



El 2022-12-06 a las 20:10 -0300, Gerardo Braica escribió:

> Buenas a todos.
> Mi duda no es exactamente sobre Debian pero seguramente conocen la
> respuesta.
> Habitualmente uso scripts propios, muy simples , para tareas repetitivas.
> Por ejemplo hice uno para todo lo que sea actualizacion del sistema para
> que en lugar de escribir sudo apt update todos los dias solamente marco el
> 1.
> Ahora estoy haciendo uno para todo el proceso de macchanger, o sea cargar
> una variable con el nombre de la interfase de red, bajarla, macchanger -a y
> volver a subirla.
> El tema es que no se como obtener el nombre de la interfase, por el momento
> ejecuto ifconfig desde el script y hago que el script me pregunte el nombre
> para pegarlo "a mano" y de ahi sigue solo.
> ¿Hay alguna forma de ejecutar ifconfig y capturar la salida pero solamente
> el nombre de la interfaz?

Si sabes el nombre canónico de la interfaz, puedes usar la información 
del kernel que está estructurada y es perfecta para usarla en guiones 
de programación porque no hay que darle formato a la salida. Por ejemplo:

sm01@stt008:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp17s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group 
default qlen 1000
    link/ether 00:1d:0f:be:b6:ad brd ff:ff:ff:ff:ff:ff
3: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast 
state UP group default qlen 1000
    link/ether 00:30:48:d9:08:27 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.8/24 brd 192.168.0.255 scope global enp0s25
       valid_lft forever preferred_lft forever
    inet6 2a0c:5a80:3103:c900:230:48ff:fed9:827/64 scope global dynamic 
mngtmpaddr 
       valid_lft forever preferred_lft forever
    inet6 fe80::230:48ff:fed9:827/64 scope link 
       valid_lft forever preferred_lft forever

En mi caso la tarjeta de red activa es «enp0s25», ahora ya puedo 
ejecutar la consulta que me devuelve una sola cadena de texto con la 
dirección MAC del adaptador de red:

sm01@stt008:~$ cat /sys/class/net/enp0s25/address
00:30:48:d9:08:27

Bonus: la utilidad «ip» también permite cambiar la dirección MAC.

Saludos,

-- 
Camaleón 


Reply to: