Comment obtenir L'adresse IP principale de la machine locale sous Linux et OS X?

je suis à la recherche d'une solution en ligne de commande qui me rendrait l'adresse IP primaire (première) du localhost, autre que 127.0.0.1

la solution devrait fonctionner au moins pour Linux (Debian et RedHat) et OS X 10.7 +

je suis conscient que ifconfig est disponible sur les deux, mais sa sortie n'est pas si cohérente entre ces plates-formes.

244
demandé sur Philip Kirkbride 2012-11-10 17:32:11

30 réponses

utiliser grep pour filtrer l'adresse IP de ifconfig :

ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'

ou avec sed :

ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*//p'

si vous êtes seulement intéressé par certaines interfaces, wlan0, eth0, etc. puis:

ifconfig wlan0 | ...

vous pouvez alias la commande dans votre .bashrc à créer votre propre commande appelée myip par exemple.

alias myip="ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*//p'"

une façon beaucoup plus simple est hostname -I ( hostname -i pour les anciennes versions de hostname mais voir les commentaires). Cependant, c'est que sous Linux.

376
répondu Chris Seymour 2018-01-12 22:14:17

pour machines linux (pas OS X):

hostname --ip-address
172
répondu ACyclic 2014-12-12 18:39:46

ce qui suit fonctionnera sur Linux mais pas sur OSX.

cela ne dépend pas du tout du DNS, et cela fonctionne même si /etc/hosts n'est pas défini correctement ( 1 est raccourci pour 1.0.0.0 ):

ip route get 1 | awk '{print $NF;exit}'

ou en évitant awk et en utilisant le DNS public de Google à 8.8.8.8 pour évidence:

ip route get 8.8.8.8 | head -1 | cut -d' ' -f8

une manière moins fiable: (voir commentaire ci-dessous)

hostname -I | cut -d' ' -f1
158
répondu Collin Anderson 2018-06-13 13:43:05

édité ( 2014-06-01 2018-01-09)

pour une configuration plus forte, avec de nombreuses interfaces et de nombreuses IP configurées sur chaque interface, j'ai écrit un script pure bash (non basé sur 127.0.0.1 ) pour trouver l'interface correcte et ip, basé sur default route . Je poste ce script au fond de cette réponse.

Intro

comme les deux Os ont installé par défaut, il y a une astuce bash pour Mac et Linux:

la question locale est empêchée par l'utilisation de LANG=C :

myip=
while IFS=$': \t' read -a line ;do
    [ -z "${line%inet}" ] && ip=${line[${#line[1]}>4?1:2]} &&
        [ "${ip#127.0.0.1}" ] && myip=$ip
  done< <(LANG=C /sbin/ifconfig)
echo $myip

Mettre cela dans une fonction:

Minimal:

getMyIP() {
    local _ip _line
    while IFS=$': \t' read -a _line ;do
        [ -z "${_line%inet}" ] &&
           _ip=${_line[${#_line[1]}>4?1:2]} &&
           [ "${_ip#127.0.0.1}" ] && echo $_ip && return 0
      done< <(LANG=C /sbin/ifconfig)
}

usage Simple:

getMyIP
192.168.1.37

Fantaisie bien rangé:

getMyIP() {
    local _ip _myip _line _nl=$'\n'
    while IFS=$': \t' read -a _line ;do
        [ -z "${_line%inet}" ] &&
           _ip=${_line[${#_line[1]}>4?1:2]} &&
           [ "${_ip#127.0.0.1}" ] && _myip=$_ip
      done< <(LANG=C /sbin/ifconfig)
    printf ${1+-v}  "%s${_nl:0:$[${#1}>0?0:1]}" $_myip
}

Utilisation:

getMyIP
192.168.1.37

or, exécutant la même fonction, mais avec un argument:

getMyIP varHostIP
echo $varHostIP
192.168.1.37
set | grep ^varHostIP
varHostIP=192.168.1.37

Note: sans argument, cette sortie de fonction sur STDOUT, L'IP et un newline , avec un argument, rien n'est imprimé, mais une variable nommée comme argument est créé et contiennent IP sans newline .

Nota2: Cela a été testé sur Debian, LaCie a piraté nas et MaxOs. Si cela ne fonctionne pas sous votre environnement, je serai très intéressé par des feed-back!

version plus ancienne de cette réponse

(Non supprimé car fondé sur sed , et non sur bash . )

Avertir: Il y a un problème sur les locales!

rapide et petit:

myIP=$(ip a s|sed -ne '/127.0.0.1/!{s/^[ \t]*inet[ \t]*\([0-9.]\+\)\/.*$//p}')

Explosé (trop de travail;)

myIP=$(
    ip a s |
    sed -ne '
        /127.0.0.1/!{
            s/^[ \t]*inet[ \t]*\([0-9.]\+\)\/.*$//p
        }
    '
)

Edit:

comment! Cela ne semble pas fonctionner sur Mac OS ...

Ok, cela semble fonctionner tout à fait pareil sur Mac OS que sur mon Linux :

myIP=$(LANG=C /sbin/ifconfig  | sed -ne $'/127.0.0.1/ ! { s/^[ \t]*inet[ \t]\{1,99\}\(addr:\)\{0,1\}\([0-9.]*\)[ \t\/].*$/\2/p; }')

coupée en deux:

myIP=$(
    LANG=C /sbin/ifconfig  |
        sed -ne $'/127.0.0.1/ ! {
            s/^[ \t]*inet[ \t]\{1,99\}\(addr:\)\{0,1\}\([0-9.]*\)[ \t\/].*$/\2/p;
        }')

mon script (jan 2018):

Ce script va d'abord trouver votre route par défaut et interface utilisé pour, puis la recherche pour le réseau local de correspondance ip de passerelle et peupler les variables. Les deux dernières lignes sont imprimées, quelque chose comme:

Interface   : en0
Local Ip    : 10.2.5.3
Gateway     : 10.2.4.204
Net mask    : 255.255.252.0
Run on mac  : true

ou

Interface   : eth2
Local Ip    : 192.168.1.31
Gateway     : 192.168.1.1
Net mask    : 255.255.255.0
Run on mac  : false

Eh bien, il est là:

#!/bin/bash
runOnMac=false
int2ip() { printf ${2+-v}  "%d.%d.%d.%d" \
        $((>>24)) $((>>16&255)) $((>>8&255)) $((&255)) ;}
ip2int() { local _a=(${1//./ }) ; printf ${2+-v}  "%u" $(( _a<<24 |
                  ${_a[1]} << 16 | ${_a[2]} << 8 | ${_a[3]} )) ;}
while IFS=$' :\t\r\n' read a b c d; do
    [ "$a" = "usage" ] && [ "$b" = "route" ] && runOnMac=true
    if $runOnMac ;then
        case $a in 
            gateway )    gWay=$b  ;;
            interface )  iFace=$b ;;
        esac
    else
        [ "$a" = "0.0.0.0" ] && [ "$c" = "$a" ] && iFace=${d##* } gWay=$b
    fi
done < <(/sbin/route -n 2>&1 || /sbin/route -n get 0.0.0.0/0)
ip2int $gWay gw
while read lhs rhs; do
    [ "$lhs" ] && { 
        [ -z "${lhs#*:}" ] && iface=${lhs%:}
        [ "$lhs" = "inet" ] && [ "$iface" = "$iFace" ] && {
            mask=${rhs#*netmask }
            mask=${mask%% *}
            [ "$mask" ] && [ -z "${mask%0x*}" ] &&
                printf -v mask %u $mask ||
                ip2int $mask mask
            ip2int ${rhs%% *} ip
            (( ( ip & mask ) == ( gw & mask ) )) &&
                int2ip $ip myIp && int2ip $mask netMask
        }
    }
done < <(/sbin/ifconfig)
printf "%-12s: %s\n" Interface $iFace Local\ Ip $myIp \
       Gateway $gWay Net\ mask $netMask Run\ on\ mac $runOnMac
29
répondu F. Hauri 2018-01-09 07:36:17

vous pouvez également essayer ceci, bien qu'il puisse vous dire 127.0.0.1 :

hostname  -i

ou

hostname -I
21
répondu user3173508 2015-06-19 12:34:11

vous pouvez également obtenir l'adresse IP version 4 de eth0 en utilisant cette commande sous linux

/sbin/ip -4 -o addr show dev eth0| awk '{split(,a,"/");print a[1]}'

sortie sera comme ceci

[root@localhost Sathish]# /sbin/ip -4 -o addr show dev eth0| awk '{split(,a,"/");print a[1]}'
192.168.1.22
18
répondu Sathish 2014-03-25 11:12:12

sur linux

hostname -I

on macOS

ipconfig getifaddr en0

notez que hostname -I peut retourner plusieurs adresses dans un ordre non fiable (voir man hostname ). Mais pour moi, il retourne juste 192.168.1.X qui est ce que vous vouliez.

18
répondu boris 2017-10-13 04:00:41

Solution

$ ip -o route get to 8.8.8.8 | sed -n 's/.*src \([0-9.]\+\).*//p'
192.168.8.16

explication

Le correct façon d'interroger les informations sur le réseau à l'aide de ip :

  • -o une ligne de sortie
  • route get to obtenir le véritable noyau de l'itinéraire jusqu'à une destination
  • 8.8.8.8 Google IP, mais peut utiliser la véritable IP que vous voulez atteindre

p.ex. ip sortie:

8.8.8.8 via 192.168.8.254 dev enp0s25 src 192.168.8.16 uid 1000 \   cache

pour extraire le src ip, sed est le plus ligthest et le plus compatible avec le support regex:

  • -n aucune sortie par défaut
  • 's/pattern/replacement/p' correspond au motif et d'impression de remplacement seulement
  • .*src \([0-9.]\+\).* correspondent à l'IP src utilisée par le noyau, pour atteindre 8.8.8.8

par exemple production finale:

192.168.8.16

autres réponses

je pense qu'aucune des réponses précédentes n'est assez bonne pour moi, car elles ne fonctionnent pas dans une machine récente (gentoo 2018).

les Questions que j'ai trouvé avec les réponses précédentes:

  • utilisation de la colonne de position dans la sortie de commande;
  • utilisation de ifconfig qui est dépréciée et -- par exemple -- ne pas énumérer les IPs multiples;
  • utilisation de awk pour une tâche simple que sed peut mieux gérer;
  • ip route get 1 n'est pas clair, et est en fait un alias pour ip route get to 1.0.0.0
  • l'utilisation de "1519180920 de la commande", qui n'ont pas de -I option dans tous les appareil et qui retournent 127.0.0.1 dans mon cas.
13
répondu giosh94mhz 2018-03-29 09:43:01

cela fonctionne sur Linux et OSX

cela va obtenir l'interface associée à la route par défaut

NET_IF=`netstat -rn | awk '/^0.0.0.0/ {thif=substr("151900920",74,10); print thif;} /^default.*UG/ {thif=substr("151900920",65,10); print thif;}'`

utilisez l'interface découverte ci-dessus pour obtenir l'adresse ip.

NET_IP=`ifconfig ${NET_IF} | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'`

OSX

uname -a

Darwin laptop 14.4.0 Darwin Kernel Version 14.4.0: Thu May 28 11: 35:04 PDT 2015; root: xnu-2782.30.5~1 / RELEASE_X86_64 x86_64

echo $NET_IF

en5

echo $NET_IP

192.168.0.130

CentOS Linux

uname -a

Linux dev-cil.medfx.local 2.6.18-164.el5xen 1 SMP Thu Sep 3 04:03: 03 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

echo $NET_IF

eth0

echo $NET_IP

192.168.46.10

12
répondu Colin Fletcher 2015-11-05 16:54:40

en utilisant certaines des autres méthodes, vous pouvez entrer un conflit où plusieurs adresses IP sont définies sur le système. Cette ligne obtient toujours l'adresse IP par défaut utilisé.

ip route get 8.8.8.8 | head -1 | awk '{print }'
6
répondu Kjeld Flarup 2018-02-05 06:39:19

interface réseau primaire IP

ifconfig `ip route | grep default | head -1 | sed 's/\(.*dev \)\([a-z0-9]*\)\(.*\)//g'` | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" | head -1
4
répondu kaspars 2015-03-13 19:24:10

le moyen le plus court pour obtenir votre adresse ipv4 locale sur votre système linux:

hostname -I | awk '{print }'
3
répondu harry 2015-07-21 07:39:06

je dois ajouter à Collin Andersons réponse que cette méthode prend également en compte si vous avez deux interfaces et ils sont tous les deux en cours d'affichage.

ip route get 1 | awk '{print $NF;exit}'

j'ai travaillé sur une application avec Raspberry Pi et j'avais besoin de l'adresse IP qui était réellement utilisée, et pas seulement si elle était activée ou non. La plupart des autres réponses retourneront les deux adresses IP ce qui n'est pas nécessairement utile - pour mon scénario de toute façon.

3
répondu c7borg 2018-01-18 10:53:02

pas sûr que cela fonctionne dans tous les os, essayer.

ifconfig | awk -F"[ :]+" '/inet addr/ && !/127.0/ {print }'
2
répondu Jotne 2013-08-27 20:59:17
ip addr show | grep -E '^\s*inet' | grep -m1 global | awk '{ print  }' | sed 's|/.*||'
2
répondu rbolante 2015-07-21 07:38:53

l'Autre ifconfig variantion qui fonctionne à la fois sur Linux et OSX:

ifconfig | grep "inet " | cut -f2 -d' '
2
répondu ccpizza 2016-07-19 14:00:43

j'ai traversé beaucoup de liens (StackExchange, AskUbuntu, StackOverflow etc) et j'ai pris la décision de combiner toutes les meilleures solutions en un seul script shell.

à mon avis, ces deux QAs sont les plus visibles:

Comment puis-je obtenir mon adresse IP externe dans un script shell? https://unix.stackexchange.com/q/22615

Comment trouver mon adresse ip interne? https://askubuntu.com/a/604691

voici ma solution basée sur quelques idées de RSP partagées dans son dépôt ( https://github.com/rsp/scripts / ).

Certains d'entre vous pourraient dire que ce script est très important pour donc une tâche simple mais j'aimerais le rendre facile et flexible dans l'utilisation autant que possible. Il prend en charge le fichier de configuration simple permettant de redéfinir les valeurs par défaut.

il était testé avec succès sous Cygwin, MINGW et Linux (Red Hat).

afficher l'adresse IP interne

myip -i

afficher l'adresse IP externe

myip -e

code Source, également disponible par le lien: https://github.com/ildar-shaimordanov/tea-set/blob/master/home/bin/myip . Exemple de fichier de configuration est là, à côté du script principal.

#!/bin/bash

# =========================================================================
#
# Getting both internal and external IP addresses used for outgoing 
# Internet connections.
#
# Internal IP address is the IP address of your computer network interface 
# that would be used to connect to Internet.
#
# External IP address is the IP address that is visible by external 
# servers that you connect to over Internet.
#
# Copyright (C) 2016 Ildar Shaimordanov
#
# =========================================================================

# Details of the actual implementation are based on the following QA:
#
# How can I get my external IP address in a shell script?
# https://unix.stackexchange.com/q/22615
#
# How do I find my internal ip address?
# https://askubuntu.com/a/604691

# =========================================================================

for f in \
    "$( dirname ""151920920"" )/myip.conf" \
    ~/.myip.conf \
    /etc/myip.conf
do
    [ -f "$f" ] && {
        . "$f"
        break
    }
done

# =========================================================================

show_usage() {
    cat - <<HELP
USAGE
  $( basename ""151920920"" ) [OPTIONS]

DESCRIPTION
  Display the internal and external IP addresses

OPTIONS
  -i  Display the internal IP address
  -e  Display the external IP address
  -v  Turn on verbosity
  -h  Print this help and exit
HELP
    exit
}

die() {
    echo "$( basename ""151920920"" ): $@" >&2
    exit 2
}

# =========================================================================

show_internal=""
show_external=""
show_verbose=""

while getopts ":ievh" opt
do
    case "$opt" in
    i )
        show_internal=1
        ;;
    e )
        show_external=1
        ;;
    v )
        show_verbose=1
        ;;
    h )
        show_usage
        ;;
    \? )
        die "Illegal option: $OPTARG"
        ;;
    esac
done

if [ -z "$show_internal" -a -z "$show_external" ]
then
    show_internal=1
    show_external=1
fi

# =========================================================================

# Use Google's public DNS to resolve the internal IP address
[ -n "$TARGETADDR" ] || TARGETADDR="8.8.8.8"

# Query the specific URL to resolve the external IP address
[ -n "$IPURL" ] || IPURL="ipecho.net/plain"

# Define explicitly $IPCMD to gather $IPURL using another tool
[ -n "$IPCMD" ] || {
    if   which curl >/dev/null 2>&1
    then
        IPCMD="curl -s"
    elif which wget >/dev/null 2>&1
    then
        IPCMD="wget -qO -"
    else
        die "Neither curl nor wget installed"
    fi
}

# =========================================================================

resolveip() {
    {
        gethostip -d "" && return
        getent ahostsv4 "" \
        | grep RAW \
        | awk '{ print ; exit }' 
    } 2>/dev/null
}

internalip() {
    [ -n "$show_verbose" ] && printf "Internal: "

    case "$( uname | tr '[:upper:]' '[:lower:]' )" in
    cygwin* | mingw* | msys* )
        netstat -rn \
        | grep -w '0.0.0.0' \
        | awk '{ print  }'
        return
        ;;
    esac

    local t="$( resolveip "$TARGETADDR" )"
    [ -n "$t" ] || die "Cannot resolve $TARGETADDR"
    ip route get "$t" \
    | awk '{ print $NF; exit }'
}

externalip() {
    [ -n "$show_verbose" ] && printf "External: "

    eval $IPCMD "$IPURL" $IPOPEN
}

# =========================================================================

[ -n "$show_internal" ] && internalip
[ -n "$show_external" ] && externalip

# =========================================================================

# EOF
2
répondu jsxt 2017-04-13 12:36:31

je viens d'utiliser noms D'Interface réseau , ma commande personnalisée est

[[ $(ip addr | grep enp0s25) != '' ]] && ip addr show dev enp0s25 | sed -n -r 's@.*inet (.*)/.*brd.*@@p' || ip addr show dev eth0 | sed -n -r 's@.*inet (.*)/.*brd.*@@p' 

dans mon propre carnet

[flying@lempstacker ~]$ cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[flying@lempstacker ~]$ [[ $(ip addr | grep enp0s25) != '' ]] && ip addr show dev enp0s25 | sed -n -r 's@.*inet (.*)/.*brd.*@@p' || ip addr show dev eth0 | sed -n -r 's@.*inet (.*)/.*brd.*@@p'
192.168.2.221
[flying@lempstacker ~]$

mais si l'interface réseau possède au moins une ip, alors elle affichera toutes les ip qui lui appartiennent

par exemple

Ubuntu 16.10

root@yakkety:~# sed -r -n 's@"@@g;s@^VERSION=(.*)@@p' /etc/os-release
16.04.1 LTS (Xenial Xerus)
root@yakkety:~# [[ $(ip addr | grep enp0s25) != '' ]] && ip addr show dev enp0s25 | sed -n -r 's@.*inet (.*)/.*brd.*@@p' || ip addr show dev eth0 | sed -n -r 's@.*inet (.*)/.*brd.*@@p'
178.62.236.250
root@yakkety:~#

Debian Jessie

root@jessie:~# sed -r -n 's@"@@g;s@^PRETTY_NAME=(.*)@@p' /etc/os-release
Debian GNU/Linux 8 (jessie)
root@jessie:~# [[ $(ip addr | grep enp0s25) != '' ]] && ip addr show dev enp0s25 | sed -n -r 's@.*inet (.*)/.*brd.*@@p' || ip addr show dev eth0 | sed -n -r 's@.*inet (.*)/.*brd.*@@p'
192.81.222.54
root@jessie:~# 

CentOS 6.8

[root@centos68 ~]# cat /etc/redhat-release 
CentOS release 6.8 (Final)
[root@centos68 ~]# [[ $(ip addr | grep enp0s25) != '' ]] && ip addr show dev enp0s25 | sed -n -r 's@.*inet (.*)/.*brd.*@@p' || ip addr show dev eth0 | sed -n -r 's@.*inet (.*)/.*brd.*@@p'
162.243.17.224
10.13.0.5
[root@centos68 ~]# ip route get 1 | awk '{print $NF;exit}'
162.243.17.224
[root@centos68 ~]#

Fedora 24

[root@fedora24 ~]# cat /etc/redhat-release 
Fedora release 24 (Twenty Four)
[root@fedora24 ~]# [[ $(ip addr | grep enp0s25) != '' ]] && ip addr show dev enp0s25 | sed -n -r 's@.*inet (.*)/.*brd.*@@p' || ip addr show dev eth0 | sed -n -r 's@.*inet (.*)/.*brd.*@@p'
104.131.54.185
10.17.0.5
[root@fedora24 ~]# ip route get 1 | awk '{print $NF;exit}'
104.131.54.185
[root@fedora24 ~]#

il semble que la commande ip route get 1 | awk '{print $NF;exit}' fournie par link soit plus précise, plus courte.

2
répondu Gorgon 2017-05-23 12:18:30

si vous avez besoin de votre primaire public IP comme le reste du monde, essayez l'une de celles-ci:

wget http://ipecho.net/plain -O - -q
curl http://icanhazip.com
curl http://ifconfig.me/ip
2
répondu Putnik 2017-07-11 06:20:40

il y a un paquet de noeuds pour tout. Exagéré? Probablement. Facile à utiliser et se souvenir? Vous pariez.

$ npm install --global internal-ip-cli

$ internal-ip
fe80::1

$ internal-ip --ipv4
192.168.0.3
2
répondu Dennis 2018-06-03 22:10:12

im extraire mon commentaire à cette réponse:

ip route get 1 | sed -n 's/^.*src \([0-9.]*\) .*$//p'

il se base sur la réponse de @CollinAnderson qui n'a pas fonctionné dans mon cas.

2
répondu estani 2018-08-09 12:59:42
ifconfig | grep 'inet ' | grep -v '127.0.0.1' | awk '{print }'
1
répondu Faizan Noor 2018-10-03 07:30:07

si vous connaissez l'interface réseau (eth0, wlan, tun0 etc):

ifconfig eth0 | grep addr: | awk '{ print  }' | cut -d: -f2
0
répondu droidgren 2015-02-19 20:26:08
ifconfig | grep "inet addr:" | grep -v "127.0.0.1" | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'  | head -1
0
répondu user2802053 2015-07-21 07:38:45
ifconfig $(netstat -rn | grep -E "^default|^0.0.0.0" | head -1 | awk '{print $NF}') | grep 'inet ' | awk '{print }' | grep -Eo '([0-9]*\.){3}[0-9]*' 
0
répondu AlanG 2016-09-23 15:44:41

fonctionne sur Mac, Linux et à l'intérieur des conteneurs Docker:

$ hostname --ip-address 2> /dev/null || (ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*//p' | awk '{print $1; exit}')

fonctionne aussi sur Makefile comme:

LOCAL_HOST := ${shell hostname --ip-address 2> /dev/null || (ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*//p' | awk '{print ; exit}')}

0
répondu peleteiro 2017-05-02 14:54:11

pour linux, vous avez besoin de cette commande:

ifconfig |sed -n 2p|awk '{ print  }'|awk -F : '{ print  }'

tapez ceci dans votre shell et vous connaîtrez simplement votre ip.

0
répondu Statham 2017-07-24 07:29:08

C'est plus facile à lire: ifconfig | grep 'inet addr:' |/usr/bin/awk '{print }' | tr -d addr:

0
répondu Cory Thorson 2017-09-11 17:20:03

si vous avez npm et node installés : npm install -g ip && node -e "const ip = require('ip'); console.log(ip.address())"

0
répondu Antoine F. 2017-10-26 10:29:32

sur un Mac, considérez ce qui suit:

scutil --nwi | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
-1
répondu cl0kc 2015-02-10 17:38:35