show ip dhcp binding
Displays the current DHCP binding table, showing which IP addresses have been leased to clients, along with their MAC addresses, lease expiration, and type of binding.
Definition: show ip dhcp binding is a Cisco IOS privileged exec command. Displays the current DHCP binding table, showing which IP addresses have been leased to clients, along with their MAC addresses, lease expiration, and type of binding.
Overview
The `show ip dhcp binding` command is a critical troubleshooting and monitoring tool in Cisco IOS that displays the Dynamic Host Configuration Protocol (DHCP) binding table. This table contains all active IP address leases assigned by the Cisco DHCP server, along with associated client MAC addresses, lease expiration times, and binding types (e.g., automatic, manual, or expired). Understanding this command is essential for CCNA and CCNP candidates because DHCP is a fundamental network service that automates IP address assignment, reducing manual configuration errors and simplifying network management. The command provides real-time visibility into which devices have received IP addresses, helping engineers verify DHCP server operation, detect IP address exhaustion, identify unauthorized devices, and troubleshoot connectivity issues caused by misconfigured or stale bindings.
When you would reach for this command versus alternatives: If you need to see the current state of DHCP leases, `show ip dhcp binding` is the primary command. For a summary of pool utilization (e.g., total addresses, leased, excluded), use `show ip dhcp pool [pool-name]`. To view detailed DHCP server statistics (e.g., offers, declines, conflicts), use `show ip dhcp server statistics`. For debugging DHCP client behavior on an interface, use `debug ip dhcp server events` or `debug ip dhcp client`. The binding command fits into a broader workflow: after configuring a DHCP pool, you verify leases are being assigned; during troubleshooting, you check if a client’s MAC appears in the table; and when planning address space, you review lease durations and expiration times.
Important IOS behavior: The output is buffered; if the table is large, use `terminal length 0` to avoid pagination. The command requires privileged EXEC mode (enable). It does not affect the running configuration; it only displays current state. Bindings are stored in RAM and lost on reload unless saved to NVRAM via `ip dhcp database` or external server. The command shows only active leases; expired leases are removed after the lease time expires. For manual bindings (static DHCP), the type shows as 'Manual' and never expires. In IOS versions 12.x and later, the output includes a 'State' column (e.g., Active, Expired, Released) for each binding. Understanding these details helps engineers accurately interpret the output and avoid common pitfalls like assuming a missing binding means the server is down (it could be a client issue or lease expiration).
show ip dhcp bindingWhen to Use This Command
- Verify which IP addresses have been assigned to specific devices on the network.
- Troubleshoot IP address conflicts by checking if an IP is already leased.
- Monitor DHCP pool utilization to see how many addresses are in use.
- Identify the MAC address of a device that has been assigned a particular IP.
Parameters
| Parameter | Syntax | Description |
|---|---|---|
| ip-address | A.B.C.D | Optional parameter to display binding information for a specific IP address only. If omitted, all bindings are shown. Use this to quickly check a single client without scrolling through the entire table. Common mistake: entering an IP not in the binding table results in no output, which may be misinterpreted as a command failure. |
Command Examples
Basic DHCP Binding Display
show ip dhcp bindingBindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address
192.168.1.10 0063.6973.636f.2d30. Mar 01 2025 12:00 PM Automatic
3030.302e.6162.6364.
2e65.6667.68
192.168.1.11 0100.1a2b.3c4d.5e Mar 02 2025 06:00 AM Automatic
192.168.1.12 010a.0b0c.0d0e.0f Mar 01 2025 08:30 PM AutomaticThe output shows three DHCP bindings. The first column is the IP address leased. The second column shows the client identifier (Client-ID) or hardware address (MAC). For Cisco devices, the Client-ID is often the MAC address prefixed with 01. The third column is the lease expiration date and time. The fourth column indicates the type of binding: 'Automatic' means the address was dynamically assigned.
Binding with Manual (Static) Entry
show ip dhcp bindingBindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address
10.0.0.5 0100.1122.3344.55 Infinite Manual
10.0.0.10 0100.aabb.ccdd.ee Mar 03 2025 10:00 AM AutomaticThis example includes a manual binding (static DHCP assignment) for 10.0.0.5, which shows 'Infinite' lease expiration and type 'Manual'. The second binding is automatic with a finite lease. Manual bindings are configured with 'ip dhcp pool' and 'host' commands.
Understanding the Output
The output lists all IP addresses currently leased by the DHCP server. Each row corresponds to a binding. The 'IP address' column shows the leased IP.
The 'Client-ID/Hardware address' column displays the client identifier, which is typically the MAC address in hexadecimal format, often preceded by '01' for Ethernet. The 'Lease expiration' column shows when the lease will expire; 'Infinite' indicates a static binding. The 'Type' column indicates whether the binding was assigned automatically (dynamic) or manually (static).
In a real network, you use this command to verify that devices are receiving IPs from the correct pool, to identify rogue devices by MAC, or to check if the pool is exhausted. A healthy output shows a mix of active leases with future expiration times; if many leases are expiring soon or are 'Infinite', it may indicate misconfiguration. Watch for duplicate IPs (should not occur) or unexpected MAC addresses that could indicate unauthorized devices.
Configuration Scenarios
Verify DHCP Leases After Configuring a Pool for a Branch Office LAN
A network engineer has configured a DHCP pool for the 192.168.10.0/24 subnet on a branch router. After connecting several PCs, they need to confirm that IP addresses are being assigned correctly and that the pool is not exhausted.
Topology
R1(Gi0/0)---192.168.10.0/24---[PC1, PC2, PC3]Steps
- 1.Step 1: Enter privileged EXEC mode: Router> enable
- 2.Step 2: Display all DHCP bindings: Router# show ip dhcp binding
- 3.Step 3: Review the output for each client's IP, MAC, lease expiration, and type.
- 4.Step 4: If a specific client is missing, check its MAC address and verify connectivity to the router.
! DHCP pool configuration on R1 ip dhcp pool BRANCH_LAN network 192.168.10.0 255.255.255.0 default-router 192.168.10.1 dns-server 8.8.8.8 lease 7 !
Verify: Router# show ip dhcp binding Bindings from all pools not associated with VRF: IP address Client-ID/ Lease expiration Type Hardware address 192.168.10.2 0100.1a2b.3c4d.5e Mar 01 2025 12:00 PM Automatic 192.168.10.3 0100.1a2b.3c4d.5f Mar 01 2025 12:00 PM Automatic 192.168.10.4 0100.1a2b.3c4d.60 Mar 01 2025 12:00 PM Automatic
Watch out: The Client-ID field often includes a leading '01' (for Ethernet) followed by the MAC address. Ensure you compare the full Client-ID, not just the MAC, when troubleshooting client identification.
Troubleshoot a Client Unable to Obtain an IP Address
A user reports that their PC cannot get an IP address via DHCP. The engineer suspects the DHCP pool might be exhausted or the client's MAC is blocked. They use the binding table to check current leases and available addresses.
Topology
R1(Gi0/0)---192.168.20.0/24---[PC_A (failing), PC_B, PC_C]Steps
- 1.Step 1: Check the binding table: Router# show ip dhcp binding
- 2.Step 2: Count the number of active leases. Compare to the pool size (e.g., 50 addresses).
- 3.Step 3: Look for the client's MAC in the table. If present, note the IP and check for conflicts.
- 4.Step 4: If the MAC is missing, check DHCP server statistics: Router# show ip dhcp server statistics
- 5.Step 5: Verify the client is on the correct VLAN and can reach the DHCP server (ping test).
! DHCP pool configuration on R1 ip dhcp pool SALES network 192.168.20.0 255.255.255.192 default-router 192.168.20.1 dns-server 192.168.20.1 lease 1 !
Verify: Router# show ip dhcp binding Bindings from all pools not associated with VRF: IP address Client-ID/ Lease expiration Type Hardware address 192.168.20.2 0100.1a2b.3c4d.5e Mar 01 2025 10:00 AM Automatic 192.168.20.3 0100.1a2b.3c4d.5f Mar 01 2025 10:00 AM Automatic ... (only 2 leases, pool has 62 addresses, so exhaustion is not the issue)
Watch out: If the client's MAC appears but the IP is different from expected, the client may have been assigned a new IP due to a previous lease conflict or manual release. Check the client's actual IP using ipconfig /all (Windows) or ifconfig (Linux/Mac).
Troubleshooting with This Command
When using `show ip dhcp binding` for troubleshooting, healthy output shows a list of IP addresses with corresponding Client-ID (MAC), a future lease expiration time, and Type 'Automatic' (or 'Manual' for static bindings). Problem indicators include: missing expected bindings (client not in table), expired leases (Type 'Expired' or past expiration), duplicate IPs (same IP appearing with different MACs, though rare), or a large number of 'Expired' or 'Released' entries indicating clients are not renewing. Focus on the 'Lease expiration' field: if it is in the past, the lease has expired and the client may have lost its IP.
The 'Type' field helps distinguish between automatic (dynamic) and manual (static) bindings; if a static binding is missing, check the manual binding configuration. Common symptoms this command helps diagnose include: clients getting 169.254.x.x APIPA addresses (no DHCP server reachable or pool exhausted), IP address conflicts (two clients with same IP, though DHCP server usually avoids this), and unauthorized devices (unknown MACs in the table). A step-by-step diagnostic flow: 1) Check if the client's MAC appears in the binding table.
If yes, note the IP and expiration. 2) If the IP is correct but client still has issues, ping the client from the router to test connectivity. 3) If the MAC is missing, verify the client is connected to the correct interface/VLAN and can send DHCP discover messages (use `debug ip dhcp server events` to see if the server receives the request). 4) Check DHCP pool utilization with `show ip dhcp pool [name]` to see if addresses are exhausted. 5) Look for DHCP conflicts with `show ip dhcp conflict`. Correlate with `show ip interface brief` to ensure the router interface serving DHCP is up/up. Also use `show logging` to see if DHCP events were logged.
The binding table is the first place to look when clients fail to obtain IPs, as it provides immediate evidence of whether the server is assigning addresses.
CCNA Exam Tips
CCNA exam may ask you to identify the MAC address of a device given its IP from the binding table.
Remember that 'Client-ID' can be different from the MAC address; Cisco devices often use a longer string.
Know that 'Infinite' lease expiration indicates a manual (static) binding, not a dynamic one.
The 'Type' field distinguishes between Automatic (dynamic) and Manual (static) bindings.
Common Mistakes
Confusing the Client-ID with the MAC address; the Client-ID may include a prefix like '01'.
Assuming all bindings are dynamic; forgetting that manual bindings also appear with 'Infinite' lease.
Misinterpreting the lease expiration format; it shows month, day, year, and time in AM/PM.
show ip dhcp binding vs show ip dhcp pool
Both 'show ip dhcp binding' and 'show ip dhcp pool' are DHCP-related commands, but they serve different purposes. They are commonly confused because they both display information about DHCP address allocation, yet one focuses on active leases while the other on pool configuration and statistics.
| Aspect | show ip dhcp binding | show ip dhcp pool |
|---|---|---|
| Data Displayed | Active lease entries: IP, MAC, lease expiration, type (dynamic/manual). | Pool configuration: subnet, range, lease time, DNS servers; utilization statistics. |
| Information Source | Runtime binding table (current state). | Running configuration and runtime statistics. |
| Modification Effect | Changes when leases are assigned/released. | Changes only when pool configuration is modified. |
| Typical Use | Verify which client holds which IP. | Check pool sizing, available addresses, or configuration correctness. |
| Output Format | List of individual bindings. | Summary of pool parameters and counts. |
Use show ip dhcp binding when you need to see the current list of leased IP addresses and their corresponding client MAC addresses.
Use show ip dhcp pool when you need to verify the DHCP pool configuration or check address utilization statistics.
Platform Notes
In IOS-XE (e.g., Catalyst 9000 switches), the `show ip dhcp binding` command syntax and output are largely identical to classic IOS. However, on some IOS-XE platforms, the output may include additional fields like 'VRF' or 'Interface' if DHCP is configured per VRF. The command is available in all IOS versions (12.x, 15.x, 16.x) with consistent behavior.
In NX-OS (Cisco Nexus switches), the equivalent command is `show ip dhcp snooping binding` for DHCP snooping bindings, but for the DHCP server itself, NX-OS uses `show ip dhcp server binding` (note: 'server' is included). For example: `show ip dhcp server binding` displays the DHCP binding table on Nexus devices. On Cisco ASA firewalls, DHCP server functionality is limited; the command `show dhcpd binding` (without 'ip') displays bindings.
In IOS-XR (Cisco ASR 9000, CRS), the DHCP server is not natively supported in the same way; instead, IOS-XR uses a different DHCP implementation and the command is `show dhcp ipv4 binding` or `show dhcp binding` depending on the version. Always verify the exact syntax for your platform using the help command (?). For CCNA/CCNP studies, focus on classic IOS and IOS-XE, as NX-OS and IOS-XR are covered in more advanced certifications.
Related Commands
show ip dhcp pool
Displays the configuration and utilization statistics of a DHCP pool, used to verify pool settings and address allocation status.
show ip dhcp server statistics
Displays DHCP server statistics, including the number of messages sent and received, to monitor DHCP server performance and troubleshoot issues.
Practice for the CCNA 200-301
Test your knowledge with practice questions covering all CCNA 200-301 exam domains.
Practice CCNA 200-301 Questions