Récupération informations réseau

Hello à toutes t à tous,
Pour un projet j’ai besoin de récupérer les informations : adresse ip, netmask et la passerelle mais séparément
(Pourquoi faire simple quand on peut faire compliqué :stuck_out_tongue: :slight_smile:
Pour l’adresse ip j’ai trouvé ça :
ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'
que je renvoie dans un fichier texte grâce à cette commande
ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' >ip.txt

Mais pour le netmask et la passerelle j’ai essayé de remplacer > inet addr par > Mask ( ce qu’on voit dans ifconfig).
mais ça ne fonctionne pas.

A vrai dire, je débute en script et programmation bash ne la comprends pas entièrement la commande, ça doit expliquer pas mal de chose lol.

Si quelqu’un peut m’aider :slight_smile:
Merci d’avance

Bonjour

Dans mon retour de la commande ifconfig
je ne vois aucun mot correspondant à Mask

root@debg53sw:~# ifconfig eth0 
eth0      Link encap:Ethernet  HWaddr bc:ae:c5:5f:a9:60  
          inet adr:192.168.0.37  Bcast:192.168.0.255  Masque:255.255.255.0
          adr inet6: 2a01:e35:8a04:d9c0:beae:c5ff:fe5f:a960/64 Scope:Global
          adr inet6: fe80::beae:c5ff:fe5f:a960/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:97792 errors:0 dropped:0 overruns:0 frame:0
          TX packets:54060 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:133018916 (126.8 MiB)  TX bytes:4927833 (4.6 MiB)

root@debg53sw:~# 

Par contre, je trouve le mot Masque
dans le 4 ème champ de la ligne dans laquelle ce mot est trouvé :

root@debg53sw:~# ifconfig eth0 | grep Masque | awk '{ print $4 }'
Masque:255.255.255.0
root@debg53sw:~# 

Peut-être que cela dépends de ce que te retourne la commande

ifconfig eth0

en fonction de la configuration des variables locale
du compte utilisateur depuis lequel cette commande a été lancée.

Mais, d’ici. je ne peux pas le voir.


D’ailleurs, on peut éviter d’utiliser la commande grep
car awk suffit :

root@debg53sw:~# ifconfig eth0 | awk '/Masque/ { print $4 }'
Masque:255.255.255.0
root@debg53sw:~#

Il y a aussi :

root@debg53sw:~# ifconfig eth0 | awk '/Masque/{split($4,a,":");print a[2]}'
255.255.255.0
root@debg53sw:~#

Et dans le doute :
pour Masque aussi bien que pour Mask

root@debg53sw:~# ifconfig eth0 | awk '/Masque|Mask/{split($4,a,":");print a[2]}'
255.255.255.0
root@debg53sw:~#

Hello
Merci pour ta réponse.
Voici ma commande ficonfig.

Je ne comprends pas comment tu fais pour découper et sélection que le 255.255.255.0
Pourrais tu m expliquer stp.
Désolé mais je débute.
En tout cas merci encore.

T’inquiète, j’ai débuté moi aussi, et je continue d’ailleurs : il y en a de beaucoup plus compétents que moi avec ce genre de commande, et c’est pas de la modestie

/Masque/
le motif de recherche est situé entre les deux /
ça va faire sélectionner la (ou les) ligne(s) qui contien(en)t le motif donné.

/Masque|Mask/
La barre verticale est un ou inclusif
ce qui fait que ce motif de recherche
permettra de trouver les lignes contenant le mot Mask ou/et Masque

{ print $4 }
Mais au lieu d’afficher la ligne entière,
je n’affiche que le 4ème groupe de caractères (mot) :

 1           2                  3                    4
inet  adr:192.168.0.37  Bcast:192.168.0.255  Masque:255.255.255.0
                                               1er :  2ème

{ split ( $4, a, “:” ); print a[2] }
Là, j’utilise la commande split de awk
pour mettre dans le tableau que j’ai nommé a
les groupes de caractères du 4ème champ de la ligne
qui sont séparés par le caractère ":"
print a[2] => je n’affiche que le 2ème élément du tableau que j’avais nommé “a

1 J'aime

Tu es au top. Je viens de comprendre grâce à toi. Merci beaucoup :slight_smile:

Merci pour le retour :slight_smile:
Très content d’avoir réussi à l’expliquer
(j’y arrive pas toujours…)

Tu y as mis les formes pour expliquer, on ne peut que comprendre :slight_smile:
encore merci en tout cas .

Salut
Pour la passerelle elle est visible avec netstat

root@debian:/# netstat -r
Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic   MSS Fenêtre irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 wlan0
link-local      0.0.0.0         255.255.0.0     U         0 0          0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0
root@debian:/# 

Hello, pour la passerelle je passe par ip route et le meme systeme de récupération que m’a appris MicP :slight_smile:

Merci en tout pour ta réponse.