getifaddrs - Linux


Overview

getifaddrs is a Linux command that retrieves and displays information about the network interfaces on a system. It can be used to list IP addresses, MAC addresses, and other network configuration details for each interface.

Syntax

getifaddrs [OPTION]...

Options/Flags

  • -a, –all: Display all active and inactive interfaces. (Default)
  • -d, –display: Display additional information, including MAC addresses and MTU.
  • -f FAMILY: Display information for a specific network interface family (e.g., -f inet for IPv4).
  • -h, –help: Display usage information.
  • -L, –label: Display interface names with labels.
  • -M, –mask: Display subnet masks for IPv4 addresses.
  • -n, –numeric: Display IP addresses in numeric format (no DNS lookup).
  • -p, –port: Display port numbers for UDP and TCP sockets.
  • -u, –up: Display only active interfaces.

Examples

List all active and inactive interfaces:

getifaddrs

Display additional information, including MAC addresses and MTU:

getifaddrs -d

Display only active interfaces:

getifaddrs -u

Display IP addresses in numeric format:

getifaddrs -n

Common Issues

  • No output: Ensure that the command is run with root privileges (using sudo).
  • Incorrect IP addresses: Verify that DNS resolution is configured properly. Use the -n option to display IP addresses in numeric format.
  • Permission denied: Check file permissions and ensure that the current user has read access to the /proc/net/if_inet6 file.

Integration

getifaddrs can be combined with other commands to obtain detailed network information, such as:

  • grep: Filter the output by specific criteria (e.g., getifaddrs | grep eth0).
  • awk: Parse the output and extract specific fields (e.g., getifaddrs | awk '{print $1, $4}').
  • xargs: Pass the output to another command for further processing (e.g., getifaddrs -d | xargs ping).

Related Commands

  • ifconfig: Displays network interface configuration and statistics.
  • ip: Provides advanced network management and configuration options.
  • netstat: Shows network connections, routing tables, and statistics.