The IP Enumerator sequentially generates every IP address within a specified range, from the first address to the last, with optional truncation for performance.
Enumeration Algorithm:
- Parse CIDR/range to determine start and end addresses
- Calculate total number of addresses in range
- Iterate from start to end (or up to max output limit)
- For each index: calculate IP address (similar to Nth IP tool)
- Collect addresses in array until limit reached
- Return addresses with truncation flag if applicable
IPv4 Examples:
- 192.168.0.1-192.168.0.5 → Lists: .1, .2, .3, .4, .5 (5 addresses)
- 10.0.0.0/30 → Lists: 10.0.0.0, 10.0.0.1, 10.0.0.2, 10.0.0.3 (4 addresses)
- 192.168.1.0/24 → Lists first 256 addresses (if limit = 256)
- 172.16.0.0/16 → Lists first 256 of 65,536 addresses (truncated)
IPv6 Examples:
- 2001:db8::/126 → Lists 4 addresses (2001:db8::, ::1, ::2, ::3)
- fe80::/127 → Lists 2 addresses (fe80::, fe80::1)
- 2001:db8::/120 → Lists first 256 of 256 addresses
- 2001:db8::/64 → Lists first 256 of 2^64 addresses (heavily truncated)
Output Limit Behavior:
- Total ≤ Limit: All addresses shown, no truncation
- Total > Limit: First N addresses shown with "..." indicator
- Total count always displayed regardless of truncation
- Example: /24 with limit 100 → shows first 100 of 256, marked as truncated
Performance Considerations:
- Small ranges (< 1000 IPs): Instant enumeration
- Medium ranges (1,000-10,000): May take 1-2 seconds
- Large ranges (> 10,000): Use output limit to prevent browser hang
- Default limit of 256 is safe for most browsers
- IPv6 /64 subnets (2^64 addresses) would take centuries to enumerate fully
Practical Output Limits:
- 256: Safe default, handles /24 IPv4 subnets completely
- 1024: Suitable for /22 documentation
- 10000: For generating large test datasets (may be slow)
- Unlimited: Only use for very small ranges (< 50 IPs)
Use Cases by Size:
- Small ranges (/29, /30): Complete enumeration for documentation
- Medium ranges (/24): Full list for firewall rules or DNS zones
- Large ranges (/16): First N addresses for sampling or testing
- Very large (IPv6 /64): Enumeration impractical, use random sampling instead
Output Format:
Addresses are comma-separated for easy copying:
- 192.168.1.1, 192.168.1.2, 192.168.1.3, ...
- Can be copied directly into configuration files
- Compatible with most ACL and firewall formats
- Can be parsed by scripts (split on comma)
Common Practical Examples:
- Small office subnet: 192.168.1.0/26 → 64 addresses for inventory
- Point-to-point link: 10.0.0.0/30 → 4 addresses (network, 2 hosts, broadcast)
- DMZ subnet: 172.16.1.0/28 → 16 addresses for server allocation
- Test range: 198.51.100.0/24 → First 256 for testing (TEST-NET-2)
Security and Scanning:
- Can generate target lists for authorized security scanning
- Enumerate DHCP ranges to verify no conflicts with static IPs
- Create baseline inventories for change detection
- IMPORTANT: Only scan networks you own or have explicit permission to scan
Relationship to Other Tools:
- Random IP Generator: Random sampling vs. complete enumeration
- Nth IP Calculator: Single indexed lookup vs. full list
- IP Distance: Shows how many addresses enumeration would produce
- CIDR Calculator: Shows total before attempting enumeration
When NOT to Enumerate:
- IPv6 /64 or larger subnets (2^64+ addresses)
- Large IPv4 ranges (> /16) without strict output limits
- Production databases (use random sampling instead)
- When only a few specific addresses are needed (use Nth IP instead)