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é?
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:
essayez ce code pour voir l'adresse IP de la machine unix
nslookup mach_name
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
en0
- une réponse plus générale consiste à utiliser ifconfig -a
. En outre, le ifconfig
binaire n'est pas toujours sur PATH
pour les utilisateurs ordinaires, ils peuvent donc avoir besoin d'essayer diverses incantations telles que /sbin/ifconfig -a
, /etc/ifconfig -a
ou de se connecter en tant que root et d'essayer ifconfig -a
.
host `hostname`
ou celui-ci
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1
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
Une alternative à ipconfig
est 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
utilisez ifconfig
et recherchez la inet
partie 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.