Skip to content

Instantly share code, notes, and snippets.

Last active November 1, 2022 03:02
  • Star 16 You must be signed in to star a gist
  • Fork 16 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Parsing ip data from a file
$infile = 'austria.csv';
$outfile = 'austria.ips';
$fp = fopen($outfile,'w');
$handle = fopen($infile, "r");
if ($handle)
while (($line = fgets($handle)) !== false) {
$line = trim($line);
$a = explode(',',$line);
$from = str_replace('"','',$a[0]);
$to = str_replace('"','',$a[1]);
$ip = long2ip($i);
if(++$j % 10000==0)
echo ".";
Copy link

stefkes commented Dec 11, 2019

undefined variable $j

Copy link

geek-at commented Dec 15, 2019

undefined variable $j

that's okay since $j is just used to output the dots

Copy link

while writing the python version of this script, I noticed the for loop goes only until $i<$to, and not $i<=$to, missing the last IP from every range.

Copy link

geek-at commented Apr 5, 2020

Good catch, thanks

Copy link

ctrlsam commented Nov 1, 2022

For those who want a Python version:

import socket
import struct

input_file = open("austria.csv", "r")
output_file = open("austria.ips", "w")

for line in input_file:
  to_ip, from_ip, _, _ = line.replace("\"", "").split(",")

  to_ip = int(to_ip)
  from_ip = int(from_ip)

  for ip_index in range(to_ip, from_ip):
    ip = socket.inet_ntoa(struct.pack("!L", ip_index))
    output_file.write(ip + "\n")


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment