Le informazioni riguardanti le interfaccie di rete vengono fornite dal comando ifconfig(8):
# ifconfig
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::203:47ff:fee1:ccd4%fxp0 prefixlen 64 scopeid 0x1
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:03:47:e1:cc:d4
media: Ethernet autoselect (10baseT/UTP)
status: active
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
inet 123.45.67.89 --> 192.168.100.1 netmask 0xffffffff
Opened by PID 71
Senza spiegare il significato di ogni riga e ogni elemento in quanto sarebbe troppo
lungo, notiamo subito che l'indirizzo IP di ogni interfaccia che ne ha uno, è
specificato nella riga che comincia con inet, quindi nel caso
dell'intefaccia tun0, tipicamente utilizzata per la
connessione a Internet, l'indirizzo IP si trova alla linea:
inet 123.45.67.89 --> 192.168.100.1 netmask 0xffffffff
ed è 123.45.67.89. Se vogliamo avere solo l'indirizzo
IP, dobbiamo concatenare una serie di comandi con i pipe:
ifconfig tun0 |awk '{if ($1 == "inet") print$2;}'
L'output di questo comando può essere passato come argomento per uno script.come
ipcheck.py (net/ipcheck) o qualsiasi
altro.