Comment obtenir l'adresse IP d'une machine Unix?


13

J'ai besoin de connaître l'adresse IP d'une machine UNIX. Je peux me connecter avec ssh mais je ne connais pas l'adresse IP.

Quelqu'un peut-il me dire une commande pour obtenir l'adresse IP de la machine Unix à laquelle je me suis connecté?


Réponses:


5

essayez ce code pour voir l'adresse IP de la machine unix

nslookup mach_name

11

Vous pouvez utiliser ifconfig pour obtenir l'adresse IP de n'importe quelle interface du système (notez qu'il peut y avoir plus d'une interface et plus d'une adresse IP).

Commencer avec:

 $ ifconfig -a

4
Certains systèmes UNIX ne nomment pas leurs interfaces en0- une réponse plus générale consiste à utiliser ifconfig -a. En outre, le ifconfigbinaire n'est pas toujours sur PATHpour les utilisateurs ordinaires, ils peuvent donc avoir besoin d'essayer diverses incantations telles que /sbin/ifconfig -a, /etc/ifconfig -aou de se connecter en tant que root et d'essayer ifconfig -a.
RedGrittyBrick

7

Utilisez cette commande

host `hostname`

ou celui-ci

nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1

Explication

Commencez avec nslookup

nslookup `hostname`      

puis recherchez "adresse"

nslookup `hostname` | grep -i address

Cela retournera quelque chose comme

Address:    192.168.1.1#53
Address: 192.168.1.167

Récupérons maintenant uniquement les adresses en sélectionnant la deuxième colonne de texte. On passe "" comme séparateur de champ

nslookup `hostname` | grep -i address | awk -F" " '{print $2}'

Nous allons nous débarrasser de la partie "# 53" en sélectionnant la première colonne. Nous passons "#" comme séparateur de champ

nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}'

La dernière adresse est l'adresse locale. Tail nous aidera à l'obtenir.

nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1

5

Une alternative à ipconfigest ip(8)où la sortie peut être quelque peu réduite. Par exemple:

$ ip -f inet addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    inet 172.31.39.10/24 brd 172.31.39.255 scope global eth0

L'interface qui n'est pas en boucle (lo) est celle que vous souhaitez: 172.31.39.10


0

utilisez ifconfiget recherchez la inetpartie de la sortie. Notez que si vous avez plus d'une carte réseau (Ethernet et sans fil par exemple), il y aura plus d'une entrée.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.