Fetch real-time data from 100+ websites,No development or maintenance required.
Over 100 million real residential IPs from genuine users across 190+ countries.
SCRAPING SOLUTIONS
Get accurate and in real-time results sourced from Google, Bing, and more.
With 120+ prebuilt and custom scrapers ready for any use case.
No blocks, no CAPTCHAs—unlock websites seamlessly at scale.
Execute scripts in stealth browsers with full rendering and automation
PROXY INFRASTRUCTURE
Over 100 million real residential IPs from genuine users across 190+ countries.
Reliable mobile data extraction, powered by real 4G/5G mobile IPs.
For time-sensitive tasks, utilize residential IPs with unlimited bandwidth.
Fast and cost-efficient IPs optimized for large-scale scraping.
SCRAPING SOLUTIONS
PROXY INFRASTRUCTURE
DATA FEEDS
Full details on all features, parameters, and integrations, with code samples in every major language.
LEARNING HUB
ALL LOCATIONS Proxy Locations
TOOLS
RESELLER
Get up to 50%
Contact sales:partner@thordata.com
Products $/GB
Fetch real-time data from 100+ websites,No development or maintenance required.
Get real-time results from search engines. Only pay for successful responses.
Execute scripts in stealth browsers with full rendering and automation.
Bid farewell to CAPTCHAs and anti-scraping, scrape public sites effortlessly.
Dataset Marketplace Pre-collected data from 100+ domains.
Over 100 million real residential IPs from genuine users across 190+ countries.
Reliable mobile data extraction, powered by real 4G/5G mobile IPs.
For time-sensitive tasks, utilize residential IPs with unlimited bandwidth.
Fast and cost-efficient IPs optimized for large-scale scraping.
Data for AI $/GB
Pricing $0/GB
Docs $/GB
Full details on all features, parameters, and integrations, with code samples in every major language.
Resource $/GB
EN $/GB
产品 $/GB
AI数据 $/GB
定价 $0/GB
产品文档 $/GB
资源 $/GB
简体中文 $/GB

Article Summary:
● Understand IP address structure and reserved ranges
● Build working Python scripts for IPv4/IPv6 generation
● Learn to filter out invalid/reserved IP addresses
● Discover why raw IP generation isn’t enough for anonymity
● Implement practical proxy rotation with Thordata
An IP (Internet Protocol) address is a unique numerical identifier assigned to every device connected to a network. It serves two primary functions:
1. Network Identification: Identifies your device on the internet or local network
2. Location Addressing: Provides information about your geographical location
IPv4 Address Format:
● Structure: Four octets separated by periods (e.g., 168.1.1)
● Range: 0.0.0.0 to 255.255.255.255
● Capacity: ~4.3 billion addresses
IPv6 Address Format:
● Structure: Eight hexadecimal groups separated by colons (e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334)
● Capacity: 340 undecillion addresses
● Solution to IPv4 exhaustion
Check your current IP at What Is My IP Address.com.
● Software Testing: Simulate traffic from diverse geographic locations
● Network Security: Test firewall rules and intrusion detection systems
● Web Scraping: Avoid detection by rotating request origins
● Load Testing: Simulate multiple users from different IP ranges
❌ Assign generated IPs directly to your machine
❌ Bypass geographic restrictions without proxies
❌ Hide your real identity without intermediary services
Before generating IPs, exclude these reserved blocks:
| Address Block | Address Range | Description |
| 0.0.0.0/8 | 0.0.0.0 – 0.255.255.255 | Current (local, “this”) network |
| 10.0.0.0/8 | 10.0.0.0 – 10.255.255.255 | Used for local communications within a private network |
| 100.64.0.0/10 | 100.64.0.0 – 100.127.255.255 | Shared address space for service provider and subscriber communication with carrier-grade NAT |
| 127.0.0.0/8 | 127.0.0.0 – 127.255.255.255 | Used for loopback addresses to the local host |
| 169.254.0.0/16 | 169.254.0.0 – 169.254.255.255 | Used for link-local addresses when no IP is specified (e.g., DHCP failure) |
| 172.16.0.0/12 | 172.16.0.0 – 172.31.255.255 | Used for local communications within a private network |
| 192.0.0.0/24 | 192.0.0.0 – 192.0.0.255 | IETF Protocol Assignments, DS-Lite (/29) |
| 192.0.2.0/24 | 192.0.2.0 – 192.0.2.255 | Assigned as TEST-NET-1, for documentation and examples |
| 192.88.99.0/24 | 192.88.99.0 – 192.88.99.255 | Reserved. Formerly used for IPv6 to IPv4 relay |
| 192.168.0.0/16 | 192.168.0.0 – 192.168.255.255 | Used for local communications within a private network |
| 198.18.0.0/15 | 198.18.0.0 – 198.19.255.255 | Used for benchmark testing of inter-network communications between separate subnets |
| 198.51.100.0/24 | 198.51.100.0 – 198.51.100.255 | Assigned as TEST-NET-2, for documentation and examples |
| 203.0.113.0/24 | 203.0.113.0 – 203.0.113.255 | Assigned as TEST-NET-3, for documentation and examples |
| 224.0.0.0/4 | 224.0.0.0 – 239.255.255.255 | In use for multicast (former Class D network) |
| 233.252.0.0/24 | 233.252.0.0 – 233.252.0.255 | Assigned as MCAST-TEST-NET, for documentation and examples (part of multicast space) |
| 240.0.0.0/4 | 240.0.0.0 – 255.255.255.254 | Reserved for future use (former Class E network) |
| 255.255.255.255/32 | 255.255.255.255 | Reserved for the “limited broadcast” destination address |
import random
import ipaddress
def generate_random_ipv4():
“””
Generate a random, non-reserved IPv4 address
Returns a string in the format X.X.X.X
“””
while True:
# Generate a random IP address with four octets
ip = f”{random.randint(0, 255)}.{random.randint(0, 255)}.{random.randint(0, 255)}.{random.randint(0, 255)}”
# Check if the generated IP is within the reserved blocks
if not ipaddress.IPv4Address(ip).is_reserved:
return ip
# Test the function
if __name__ == “__main__”:
ip = generate_random_ipv4()
print(f”Generated IP: {ip}”)
While you can generate random IP addresses, you cannot directly use them for outgoing connections. Your internet traffic always routes through your ISP-assigned IP.
Proxy Servers: Intermediate servers that mask your real IP, and Residential Proxies: Legitimate IPs from real devices.
import requests
import random
# Pool of proxies
proxies = [
“<PROXY_URL_1>”,
“<PROXY_URL_2>”,
“<PROXY_URL_3>”
]
# Get a random proxy config
def get_random_proxy():
return {“http”: random.choice(proxies), “https”: random.choice(proxies)}
# Example usage
proxy = get_random_proxy()
response = requests.get(“https://example.com”, proxies=proxy)

Why Choose Thordata:
✅ 100M+ residential IPs across 190 countries
✅ AI-powered anti-detection technology
✅ 99.9% uptime guarantee
✅ Ethical sourcing compliant
Best For: Enterprise web scraping, ad verification, price monitoring

● Advanced CAPTCHA solving
● Structured data extraction

● Auto-IP rotation
A web scraping API provides all the tools you need to simplify the web scraping process. Instead of handling complexities like managing proxies, user agents, CAPTCHA, anti-bot measures, and retries, you simply call the API with your target URL. It returns the HTML content of the page or automatically extracts the data into a structured JSON format.
Discover why Thordata’s Scraper API is one of the best web scraping solutions, offering advanced anti-bot management, IP rotation, data scheduling, and much more.
👍 Pros:
All-in-one scraping solution
Access to a large set of IPs in your application with no configuration required
Scalable for large projects
Generating random IP addresses is valuable for testing and development, but practical anonymity requires proxy services. For reliable web scraping and geo-restriction bypassing, Thordata provides the most robust proxy infrastructure with extensive IP diversity and advanced anti-detection capabilities.
Remember: Always respect terms of service, implement proper rate limiting, and use these tools ethically.
We hope the information provided is helpful. However, if you have any further questions, feel free to contact us at support@thordata.com or via online chat.
Frequently asked questions
How does a random IP address generator work in Python?
The generator creates valid IP addresses by producing random numbers within the 0-255 range for each octet, then validates them against IANA’s reserved ranges using Python’s ipaddress module to ensure they’re usable for public traffic
Can I use generated IP addresses for actual web browsing?
No, generated IPs are only simulated addresses. To actually route traffic through different IPs, you need proxy servers.
What’s the difference between datacenter and residential proxies for IP rotation?
Datacenter proxies come from cloud servers and are cheaper but easier to detect. Residential proxies like Thordata’s come from real ISP-assigned IPs, making them more legitimate and harder to block for scraping tasks.
About the author
Jenny is a Content Specialist with a deep passion for digital technology and its impact on business growth. She has an eye for detail and a knack for creatively crafting insightful, results-focused content that educates and inspires. Her expertise lies in helping businesses and individuals navigate the ever-changing digital landscape.
The thordata Blog offers all its content in its original form and solely for informational intent. We do not offer any guarantees regarding the information found on the thordata Blog or any external sites that it may direct you to. It is essential that you seek legal counsel and thoroughly examine the specific terms of service of any website before engaging in any scraping endeavors, or obtain a scraping permit if required.
Looking for
Top-Tier Residential Proxies?
您在寻找顶级高质量的住宅代理吗?
PHP Web Scraping
Xyla Huxley Last updated on 2026-03-04 5 min read […]
Unknown
2026-03-05
How to Scraping Dynamic Websites with Python?
In this article, learn how to ...
Anna Stankevičiūtė
2026-03-03
Scraping Yahoo Finance using Python
Xyla Huxley Last updated on 2026-03-02 10 min read […]
Unknown
2026-03-03
TCP Deep Dive with Wireshark
Xyla Huxley Last updated on 2026-03-03 6 min read TCP i […]
Unknown
2026-03-03
Web Scraping with Python using Requests
Xyla Huxley Last updated on 2026-03-03 6 min read Web c […]
Unknown
2026-03-03
Crawl4AI: Open-Source AI Web Crawler with MCP Automation
Xyla Huxley Last updated on 2026-03-03 10 min read AI a […]
Unknown
2026-03-03
Using Wget with Python: A Practical Guide for Reliable, Scalable Web Data Retrieval
Xyla Huxley Last updated on 2026-03-03 10 min read […]
Unknown
2026-03-03
How to Make HTTP Requests in Node.js With Fetch API (2026)
A practical 2026 guide to usin ...
Kael Odin
2026-03-03
How to Scrape Job Postings in 2026: Complete Guide
A 2026 end-to-end guide to scr ...
Kael Odin
2026-03-03