How to Generate Random IP Address With Code

OKeyProxy - Nicole Cliton
4 min readAug 2, 2024

--

generate random ip address

Generating random IP addresses is a crucial skill for various applications, from network testing to data anonymization. With multiple methods available across different programming languages and tools, you can choose the approach that best fits your needs. Whether you’re writing a quick script in Python or integrating IP generation into a larger Java application, this guide provides a comprehensive overview to get you started.

Introduction: IP Address

Internet Protocol (IP) addresses are unique identifiers assigned to devices on a network. They come in two versions: IPv4 and IPv6. IPv4 addresses are 32-bit numbers typically displayed in dot-decimal notation (e.g., 192.168.0.1), while IPv6 addresses are 128-bit numbers shown in eight groups of four hexadecimal digits (e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334). Generating random IP addresses can be crucial for testing network configurations, anonymizing data, or simulating network traffic.

Method 1: Using Python

Python is a versatile language, and its random module makes it easy to generate random IP addresses.

Generate Random IPv4 Address

import random

def generate_random_ipv4():
return ".".join(str(random.randint(0, 255)) for _ in range(4))

print(generate_random_ipv4())

Example Output:

103.45.67.230

Generate Random IPv6 Address

import random

def generate_random_ipv6():
return ":".join(f"{random.randint(0, 2**16-1):04x}" for _ in range(8))

print(generate_random_ipv6())

Example Output:

abcd:1234:5678:9abc:def0:1234:5678:abcd

Method 2: Using JavaScript

JavaScript is another powerful tool for generating random IP addresses, especially useful for web-based applications.

Generate Random IPv4 Address

function generateRandomIPv4() {
return Array.from({length: 4}, () => Math.floor(Math.random() * 256)).join('.');
}

console.log(generateRandomIPv4());

Example Output:

74.202.109.32

Generate Random IPv6 Address

function generateRandomIPv6() {
return Array.from({length: 8}, () => Math.floor(Math.random() * 0x10000).toString(16).padStart(4, '0')).join(':');
}

console.log(generateRandomIPv6());

Example Output:

2001:0db8:85a3:0000:8a2e:0370:7334:abcd

Method 3: Using Bash

For those who prefer shell scripting, Bash provides a quick way to generate random IP addresses.

Generate Random IPv4 Address

#!/bin/bash
echo "$((RANDOM % 256)).$((RANDOM % 256)).$((RANDOM % 256)).$((RANDOM % 256))"

Example Output:

192.48.96.187

Method 4: Using C#

C# is ideal for Windows-based applications and provides robust random number generation.

Generate Random IPv4 Address

using System;

public class RandomIP
{
public static string GenerateRandomIPv4()
{
Random rand = new Random();
return string.Join(".", new int[] { rand.Next(256), rand.Next(256), rand.Next(256), rand.Next(256) });
}

public static void Main()
{
Console.WriteLine(GenerateRandomIPv4());
}
}

Example Output:

65.21.233.54

Method 5: Using PowerShell

PowerShell is powerful for scripting and automation on Windows.

Generate Random IPv4 Address

function Generate-RandomIPv4 {
$octets = 1..4 | ForEach-Object { Get-Random -Minimum 0 -Maximum 256 }
return ($octets -join '.')
}

Generate-RandomIPv4

Example Output:

123.45.67.89

Method 6: Using Ruby

Ruby is known for its simplicity and elegance, making it a great choice for scripting.

Generate Random IPv4 Address

def generate_random_ipv4
Array.new(4) { rand(0..255) }.join('.')
end

puts generate_random_ipv4

Example Output:

231.152.83.44

Method 7: Using Go (Golang)

Go is a statically typed language known for its performance and simplicity.

Generate Random IPv4 Address

package main

import (
"fmt"
"math/rand"
"time"
)

func generateRandomIPv4() string {
rand.Seed(time.Now().UnixNano())
return fmt.Sprintf("%d.%d.%d.%d", rand.Intn(256), rand.Intn(256), rand.Intn(256), rand.Intn(256))
}

func main() {
fmt.Println(generateRandomIPv4())
}

Example Output:

173.45.67.231

Method 8: Using PHP

PHP is widely used for web development and can easily generate random IP addresses.

Generate Random IPv4 Address

<?php
function generateRandomIPv4() {
return rand(0, 255) . "." . rand(0, 255) . "." . rand(0, 255) . "." . rand(0, 255);
}

echo generateRandomIPv4();
?>

Example Output:

56.120.45.89

Method 9: Using Rust

Rust is known for its safety and performance, suitable for systems programming.

Generate Random IPv4 Address

use rand::Rng;

fn generate_random_ipv4() -> String {
let mut rng = rand::thread_rng();
format!("{}.{}.{}.{}", rng.gen_range(0..256), rng.gen_range(0..256), rng.gen_range(0..256), rng.gen_range(0..256))
}

fn main() {
println!("{}", generate_random_ipv4());
}

Example Output:

14.208.93.73

Method 10: Using Perl

Perl is a versatile language with powerful text processing capabilities.

Generate Random IPv4 Address

use strict;
use warnings;
use List::Util 'shuffle';

sub generate_random_ipv4 {
return join '.', map { int(rand(256)) } 1..4;
}

print generate_random_ipv4(), "\n";

Example Output:

201.37.128.56

Method 11: Using Java

Java is a widely-used language known for its portability across platforms.

Generate Random IPv4 Address

import java.util.Random;

public class RandomIP {
public static String generateRandomIPv4() {
Random rand = new Random();
return rand.nextInt(256) + "." + rand.nextInt(256) + "." + rand.nextInt(256) + "." + rand.nextInt(256);
}

public static void main(String[] args) {
System.out.println(generateRandomIPv4());
}
}

Example Output:

67.89.123.45

Method 12: Using Swift

Swift is Apple’s powerful and intuitive programming language for iOS and macOS development.

Generate Random IPv4 Address

import Foundation

func generateRandomIPv4() -> String {
return "\(arc4random_uniform(256)).\(arc4random_uniform(256)).\(arc4random_uniform(256)).\(arc4random_uniform(256))"
}

print(generateRandomIPv4())

Example Output:

244.85.192.7

Others Online Methods

1. Using Online Tools

If coding is not your preference, several online tools can generate random IP addresses for you, such as:

  • IPVoid: Generates random IPv4 and IPv6 addresses.
  • MiniWebTool: Another tool that generates both IPv4 and IPv6 addresses.

2. Using Online APIs

For automated needs, consider using an online API, such as:

  • RandomAPI: Provides random data generation, including IP addresses.

Example API Call:

curl https://randomapi.com/api/xxxxxxxx?key=yyyyyyyy&ref=zzzzzzzz&fmt=json

3. Using Proxy

Several proxy services and IP generation tools can be used together to achieve randomized IP address. Generally choose a proxy provider with API integration and send requests through network, such as:

  • OkeyProxy: Offer rotating ISP and static IPs for different purpose in high-quality.
  • MacroProxy: Another proxy provider supports both HTTP and SOCKS protocols.
  • BrightData: Famous Proxies especially for Web scraping.

Conclusion

Generating random IP addresses can be done in numerous ways, each suitable for different needs and environments. Whether you prefer coding in Python, JavaScript, Bash, or another language, there’s a method that fits your workflow. The flexibility and variety of approaches ensure that you can find the perfect solution for generating random IP addresses in any context.

More Related Article: Obtain Random IP Address: Comparison of 4 Types

--

--