Display IPv4 address without network utilities.

Inspect /proc/net/fib_trie which contains routing table entries sorted by prefix length.

$ cat /proc/net/fib_trie
Main:
  +-- 0.0.0.0/0 3 0 4
     |-- 0.0.0.0
        /0 universe UNICAST
     +-- 127.0.0.0/8 2 0 2
        +-- 127.0.0.0/31 1 0 0
           |-- 127.0.0.0
              /8 host LOCAL
           |-- 127.0.0.1
              /32 host LOCAL
        |-- 127.255.255.255
           /32 link BROADCAST
     +-- 168.0.0.0/5 2 0 2
        |-- 169.254.0.0
           /16 link UNICAST
        +-- 172.16.0.0/15 3 0 4
           +-- 172.16.144.0/21 2 0 2
              |-- 172.16.144.0
                 /21 link UNICAST
              +-- 172.16.151.192/26 2 0 2
                 |-- 172.16.151.200
                    /32 host LOCAL
                 |-- 172.16.151.255
                    /32 link BROADCAST
           +-- 172.16.238.0/23 3 0 4
              +-- 172.16.238.0/31 1 0 0
                 |-- 172.16.238.0
                    /24 link UNICAST
                 |-- 172.16.238.1
                    /32 host LOCAL
              |-- 172.16.238.255
                 /32 link BROADCAST
              +-- 172.16.239.0/31 1 0 0
                 |-- 172.16.239.0
                    /24 link UNICAST
                 |-- 172.16.239.1
                    /32 host LOCAL
              |-- 172.16.239.255
                 /32 link BROADCAST
           +-- 172.17.0.0/31 1 0 0
              |-- 172.17.0.0
                 /16 link UNICAST
              |-- 172.17.0.1
                 /32 host LOCAL
           |-- 172.17.255.255
              /32 link BROADCAST
     +-- 192.168.96.0/20 2 0 2
        +-- 192.168.96.0/31 1 0 0
           |-- 192.168.96.0
              /20 link UNICAST
           |-- 192.168.96.1
              /32 host LOCAL
        |-- 192.168.111.255
           /32 link BROADCAST
Local:
  +-- 0.0.0.0/0 3 0 4
     |-- 0.0.0.0
        /0 universe UNICAST
     +-- 127.0.0.0/8 2 0 2
        +-- 127.0.0.0/31 1 0 0
           |-- 127.0.0.0
              /8 host LOCAL
           |-- 127.0.0.1
              /32 host LOCAL
        |-- 127.255.255.255
           /32 link BROADCAST
     +-- 168.0.0.0/5 2 0 2
        |-- 169.254.0.0
           /16 link UNICAST
        +-- 172.16.0.0/15 3 0 4
           +-- 172.16.144.0/21 2 0 2
              |-- 172.16.144.0
                 /21 link UNICAST
              +-- 172.16.151.192/26 2 0 2
                 |-- 172.16.151.200
                    /32 host LOCAL
                 |-- 172.16.151.255
                    /32 link BROADCAST
           +-- 172.16.238.0/23 3 0 4
              +-- 172.16.238.0/31 1 0 0
                 |-- 172.16.238.0
                    /24 link UNICAST
                 |-- 172.16.238.1
                    /32 host LOCAL
              |-- 172.16.238.255
                 /32 link BROADCAST
              +-- 172.16.239.0/31 1 0 0
                 |-- 172.16.239.0
                    /24 link UNICAST
                 |-- 172.16.239.1
                    /32 host LOCAL
              |-- 172.16.239.255
                 /32 link BROADCAST
           +-- 172.17.0.0/31 1 0 0
              |-- 172.17.0.0
                 /16 link UNICAST
              |-- 172.17.0.1
                 /32 host LOCAL
           |-- 172.17.255.255
              /32 link BROADCAST
     +-- 192.168.96.0/20 2 0 2
        +-- 192.168.96.0/31 1 0 0
           |-- 192.168.96.0
              /20 link UNICAST
           |-- 192.168.96.1
              /32 host LOCAL
        |-- 192.168.111.255
           /32 link BROADCAST

Extract IPv4 addresses.

$ cat /proc/net/fib_trie | grep -B 1 "/32 host LOCAL" | awk '/\|--/ {print $NF}' | sort -u
127.0.0.1
172.16.151.200
172.16.238.1
172.16.239.1
172.17.0.1
192.168.96.1

Use standard network utility for comparison.

$ ip --brief --color addr
lo               UNKNOWN        127.0.0.1/8 ::1/128 
enp3s0           UP             172.16.151.200/21 fe80::b0d:5d9a:7083:fced/64 
wlp4s0           DOWN           
br-6db1c7bd17a8  DOWN           172.16.238.1/24 
docker0          UP             172.17.0.1/16 fe80::42:faff:fe5c:c85e/64 
br-b06cc51fd3a7  DOWN           172.16.239.1/24 
br-b2f1f097b8f8  DOWN           192.168.96.1/20 
veth0e65cfc@if8  UP             fe80::1438:9bff:fec6:120a/64 
vethfc6c557@if10 UP             fe80::282d:f2ff:fe2c:9dee/64 

This can be useful in containerized environment when ip utility is not available.