7

When I run ip to get the ip address, I'm getting

$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 6c:88:14:ba:cb:cc brd ff:ff:ff:ff:ff:ff

None of that is an ipv4 address, however ifconfig does show it,

$ sudo /sbin/ifconfig      
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1102801  bytes 74417671 (70.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1102801  bytes 74417671 (70.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.7.7.57  netmask 255.255.252.0  broadcast 10.7.7.255
        inet6 fe80::440:3794:6794:8b1b  prefixlen 64  scopeid 0x20<link>
        inet6 2620:0:28a2:4010:2:2:8c75:f8a1  prefixlen 128  scopeid 0x0<global>
        ether 6c:88:14:ba:cb:cc  txqueuelen 1000  (Ethernet)
        RX packets 32743430  bytes 48351612590 (45.0 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 14856403  bytes 1590947780 (1.4 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

How can I get the ipv4 information without falling to my deprecated (and trusty) ifconfig?

Stéphane Chazelas
  • 522,931
  • 91
  • 1,010
  • 1,501
Evan Carroll
  • 28,578
  • 45
  • 164
  • 290

1 Answers1

6

Apparently ip broke up the MAC address (now in the ip link (device) interface), and the network ip address. The command ip address is what shows the network addresses,

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 6c:88:14:ba:cb:cc brd ff:ff:ff:ff:ff:ff
    inet 10.7.7.57/22 brd 10.7.7.255 scope global dynamic noprefixroute wlp3s0
       valid_lft 1203509sec preferred_lft 1203509sec
    inet6 2620:0:28a2:4010:2:2:8c75:f8a1/128 scope global dynamic noprefixroute 
       valid_lft 1203512sec preferred_lft 598712sec
    inet6 fe80::440:3794:6794:8b1b/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

This can be seen in a more compact and user friendly (-brief) format with

$ ip -4 -br addr show
lo               UNKNOWN        127.0.0.1/8
wlp3s0           UP             10.7.7.57/22

Or, you can see it one line (-o),

$ ip -o address
1: lo    inet 127.0.0.1/8 scope host lo\       valid_lft forever preferred_lft forever
1: lo    inet6 ::1/128 scope host \       valid_lft forever preferred_lft forever
3: wlp3s0    inet 10.7.7.57/22 brd 10.7.7.255 scope global dynamic noprefixroute wlp3s0\       valid_lft 1202464sec preferred_lft 1202464sec
3: wlp3s0    inet6 2620:0:28a2:4010:2:2:8c75:f8a1/128 scope global dynamic noprefixroute \       valid_lft 1202466sec preferred_lft 597666sec
3: wlp3s0    inet6 fe80::440:3794:6794:8b1b/64 scope link noprefixroute \       valid_lft forever preferred_lft forever
Evan Carroll
  • 28,578
  • 45
  • 164
  • 290