#!/usr/bin/ruby # Das Script geht eine default access_log-Datei durch, # die mit der IP-Adresse anfaengt und schaut ob es darin # eine der IPs aus den BND IP Ranges findet. # Die Ranges habe ich von: # https://secure.wikileaks.org/wiki/T-Systems_BND_network_assignments%2C_13_Nov_2008 # # Jeena Paradies if ARGV.length < 1 puts "usage: ruby #{__FILE__} file1 [file2 file3 ...]" else r =< ip2int(ip1.strip), :max => ip2int(ip2.strip) } end ARGV.each do |log_path| IO.foreach(log_path) do |line| ips = line.split(/ /)[0].strip ip = ip2int ips ranges.each do |range| if ip >= range[:min] and ip <= range[:max] unless found.include? ips found << ips break end end end end end unless found.length == 0 puts "Folgende BND IPs wurden gefunden:" found.sort!.each do |ip| puts ip end else puts "Es wurden keine BND IPs gefunden." end end