Updated python script

main
TiredFromTelehack 2024-10-21 22:11:39 +02:00
parent 33e6f90a7d
commit 5218d3d47f
3 changed files with 1006 additions and 24 deletions

BIN
dump.pcap 100644

Binary file not shown.

View File

@ -6,16 +6,51 @@ import argparse
from colorama import Fore
from datetime import date
import ipaddress
import subprocess
def get_local_ips():
"""Retrieve a list of local IPs and their subnets."""
local_ips = set()
local_subnets = set()
# Using 'ifconfig' to get all local IPs
try:
output = subprocess.check_output("ifconfig", universal_newlines=True)
for line in output.splitlines():
if "inet " in line and not line.strip().startswith("inet6"):
parts = line.split()
if len(parts) >= 2:
ip = parts[1]
local_ips.add(ip)
# Get the subnet mask
netmask_index = line.index("netmask") + len("netmask")
netmask = line[netmask_index:line.index(" ", netmask_index)].strip()
# Ensure that netmask is a valid value
if ip and netmask:
# Calculate the subnet and add it to the set
try:
subnet = ipaddress.ip_network(f"{ip}/{netmask}", strict=False)
local_subnets.add(subnet)
except ValueError as e:
print(Fore.RED + f"[!] Error creating subnet for IP {ip} with netmask {netmask}: {str(e)}")
except Exception as e:
print(Fore.RED + f"[!] Error fetching local IPs: {str(e)}")
return local_ips, local_subnets
def read_pcap(pcap_file, output_format):
ips = []
ips = set() # Use a set to avoid duplicates
try:
pcap = pyshark.FileCapture(pcap_file)
print(Fore.GREEN + "[+] Pcap File is valid")
for packet in pcap:
if "IP" in packet:
ips.append(packet.ip.src)
ips.append(packet["ip"].dst)
ips.add(packet.ip.src) # Add source IP
ips.add(packet["ip"].dst) # Add destination IP
ips_list(ips, output_format)
@ -24,19 +59,25 @@ def read_pcap(pcap_file, output_format):
def ips_list(ips, output_format):
local_ips, local_subnets = get_local_ips()
ips_lists = []
aborted_ips = []
for ip in ips:
if ip not in ips_lists and ipaddress.ip_address(ip).is_global:
ips_lists.append(ip)
elif ip not in aborted_ips and ipaddress.ip_address(ip).is_private:
# Check if IP is private or matches local IPs or subnets
if ipaddress.ip_address(ip).is_private or ip in local_ips or any(ipaddress.ip_address(ip) in subnet for subnet in local_subnets):
aborted_ips.append(ip)
continue
# Check if IP is global
if ipaddress.ip_address(ip).is_global:
ips_lists.append(ip)
# Inform about removed IPs
for ip in aborted_ips:
print(Fore.YELLOW + "[!] Remove " + Fore.RED + ip + Fore.YELLOW + ' From Scanning')
if len(ips_lists) < 1:
exit(Fore.RED + "[-] No IP to scan.")
exit(Fore.RED + "[-] No global IPs to scan.")
get_ip_info(ips_lists, output_format)
@ -46,22 +87,37 @@ def get_ip_info(list_ip, output_format):
for ip in list_ip:
print(Fore.YELLOW + "[+] Start analyzing IP : " + ip)
try:
req = requests.get("http://ip-api.com/json/" + ip + "?fields=status,message,country,countryCode,region,regionName,city,district,zip,lat,lon,timezone,isp,org,as,asname,reverse,mobile,proxy,hosting,query").content.decode()
if "message" not in req:
data.append(req)
req = requests.get("http://ip-api.com/json/" + ip + "?fields=status,message,country,countryCode,region,regionName,city,district,zip,lat,lon,timezone,isp,org,as,asname,reverse,mobile,proxy,hosting,query")
req_content = req.content.decode()
# Check if the response is valid JSON
if req.status_code == 200 and req_content:
try:
json_data = json.loads(req_content)
if json_data.get("status") == "success":
# Skip IPs from hosting providers
if json_data.get("isp") and "Hosting" in json_data.get("isp"):
print(Fore.YELLOW + f"[!] Skipping hosting IP: {ip} - ISP: {json_data['isp']}")
continue
data.append(json_data)
else:
print(Fore.RED + f"[!] Error for IP {ip}: {json_data.get('message', 'Unknown error')}")
except json.JSONDecodeError:
print(Fore.RED + f"[!] Error decoding JSON for IP {ip}. Response content: {req_content}")
else:
print(Fore.RED + f"[!] Request failed for IP {ip}: {req_content}")
except requests.exceptions.ConnectionError:
exit(Fore.RED + "Check your internet connection and try again ....")
dic_data = []
for i in data:
l = json.loads(i)
dic_data.append(l)
export_result(dic_data, output_format)
if data: # Proceed to export only if data is collected
export_result(data, output_format)
else:
print(Fore.YELLOW + "[-] No valid IP data to export.")
def export_result(data, output_format):
# Modify this part to export in different formats
if output_format == 'json':
with open('scan_result-' + str(date.today()) + '.json', 'w', encoding='UTF8') as f:
json.dump(data, f, indent=4)
@ -92,6 +148,6 @@ def main():
read_pcap(args.pcap, args.format)
if __name__ == "__main__":
main()

View File

@ -0,0 +1,926 @@
[
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "cheapy.host LLC",
"org": "CHEAPY.HOST",
"as": "AS401120 cheapy.host LLC",
"asname": "CHEAPY-HOST",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "45.88.88.50"
},
{
"status": "success",
"country": "The Netherlands",
"countryCode": "NL",
"region": "NH",
"regionName": "North Holland",
"city": "Amsterdam",
"district": "",
"zip": "1017",
"lat": 52.364,
"lon": 4.8913,
"timezone": "Europe/Amsterdam",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "85.31.47.255"
},
{
"status": "success",
"country": "The Netherlands",
"countryCode": "NL",
"region": "NH",
"regionName": "North Holland",
"city": "Amsterdam",
"district": "",
"zip": "1017",
"lat": 52.364,
"lon": 4.8913,
"timezone": "Europe/Amsterdam",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "178.215.224.75"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "EKABI",
"org": "Ekabi LLC",
"as": "AS401115 EKABI",
"asname": "EKABI",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.120.116.232"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "EKABI",
"org": "Ekabi LLC",
"as": "AS401115 EKABI",
"asname": "EKABI",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.120.126.241"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "45.149.241.70"
},
{
"status": "success",
"country": "The Netherlands",
"countryCode": "NL",
"region": "NH",
"regionName": "North Holland",
"city": "Amsterdam",
"district": "",
"zip": "1017",
"lat": 52.364,
"lon": 4.8913,
"timezone": "Europe/Amsterdam",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "178.215.224.16"
},
{
"status": "success",
"country": "Bulgaria",
"countryCode": "BG",
"region": "21",
"regionName": "Smolyan",
"city": "Dospat",
"district": "",
"zip": "4831",
"lat": 41.6543,
"lon": 24.1576,
"timezone": "Europe/Sofia",
"isp": "cheapy.host LLC",
"org": "CHEAPY.HOST",
"as": "AS401120 cheapy.host LLC",
"asname": "CHEAPY-HOST",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "94.156.105.30"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "EKABI",
"org": "Ekabi LLC",
"as": "AS401115 EKABI",
"asname": "EKABI",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.120.116.255"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt Am Main",
"district": "",
"zip": "60313",
"lat": 50.1153,
"lon": 8.6805,
"timezone": "Europe/Berlin",
"isp": "IP-Projects GmbH & Co. KG",
"org": "Gwy It Pty Ltd",
"as": "AS48314 Michael Sebastian Schinzel trading as IP-Projects GmbH & Co. KG",
"asname": "IP-PROJECTS",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "194.48.251.255"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.121.86.255"
},
{
"status": "success",
"country": "United States",
"countryCode": "US",
"region": "KS",
"regionName": "Kansas",
"city": "Olathe",
"district": "",
"zip": "66061",
"lat": 38.8868,
"lon": -94.8223,
"timezone": "America/Chicago",
"isp": "Comcast Cable Communications",
"org": "Comcast IP Services, L.L.C.",
"as": "AS7922 Comcast Cable Communications, LLC",
"asname": "COMCAST-7922",
"reverse": "c-73-67-50-23.hsd1.mo.comcast.net",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "73.67.50.23"
},
{
"status": "success",
"country": "Bulgaria",
"countryCode": "BG",
"region": "21",
"regionName": "Smolyan",
"city": "Dospat",
"district": "",
"zip": "4831",
"lat": 41.6543,
"lon": 24.1576,
"timezone": "Europe/Sofia",
"isp": "cheapy.host LLC",
"org": "CHEAPY.HOST",
"as": "AS401120 cheapy.host LLC",
"asname": "CHEAPY-HOST",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "94.156.105.255"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "EKABI",
"org": "Ekabi LLC",
"as": "AS401115 EKABI",
"asname": "EKABI",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.120.114.211"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "EKABI",
"org": "Ekabi LLC",
"as": "AS401115 EKABI",
"asname": "EKABI",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.120.127.3"
},
{
"status": "success",
"country": "The Netherlands",
"countryCode": "NL",
"region": "NH",
"regionName": "North Holland",
"city": "Amsterdam",
"district": "",
"zip": "1017",
"lat": 52.364,
"lon": 4.8913,
"timezone": "Europe/Amsterdam",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "178.215.224.157"
},
{
"status": "success",
"country": "The Netherlands",
"countryCode": "NL",
"region": "NH",
"regionName": "North Holland",
"city": "Amsterdam",
"district": "",
"zip": "1017",
"lat": 52.364,
"lon": 4.8913,
"timezone": "Europe/Amsterdam",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "178.215.224.8"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "EKABI",
"org": "Ekabi LLC",
"as": "AS401115 EKABI",
"asname": "EKABI",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.120.125.255"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "EKABI",
"org": "Ekabi LLC",
"as": "AS401115 EKABI",
"asname": "EKABI",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.120.114.255"
},
{
"status": "success",
"country": "The Netherlands",
"countryCode": "NL",
"region": "NH",
"regionName": "North Holland",
"city": "Amsterdam",
"district": "",
"zip": "1017",
"lat": 52.364,
"lon": 4.8913,
"timezone": "Europe/Amsterdam",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "81.161.238.9"
},
{
"status": "success",
"country": "Bulgaria",
"countryCode": "BG",
"region": "21",
"regionName": "Smolyan",
"city": "Dospat",
"district": "",
"zip": "4831",
"lat": 41.6543,
"lon": 24.1576,
"timezone": "Europe/Sofia",
"isp": "cheapy.host LLC",
"org": "CHEAPY.HOST",
"as": "AS401120 cheapy.host LLC",
"asname": "CHEAPY-HOST",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "94.156.104.255"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "93.123.109.255"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.121.86.85"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "EKABI",
"org": "Ekabi LLC",
"as": "AS401115 EKABI",
"asname": "EKABI",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.120.115.135"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "EKABI",
"org": "Ekabi LLC",
"as": "AS401115 EKABI",
"asname": "EKABI",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.120.115.255"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "EKABI",
"org": "Ekabi LLC",
"as": "AS401115 EKABI",
"asname": "EKABI",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.120.127.255"
},
{
"status": "success",
"country": "The Netherlands",
"countryCode": "NL",
"region": "NH",
"regionName": "North Holland",
"city": "Amsterdam",
"district": "",
"zip": "1017",
"lat": 52.364,
"lon": 4.8913,
"timezone": "Europe/Amsterdam",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "85.31.47.131"
},
{
"status": "success",
"country": "The Netherlands",
"countryCode": "NL",
"region": "NH",
"regionName": "North Holland",
"city": "Amsterdam",
"district": "",
"zip": "1017",
"lat": 52.364,
"lon": 4.8913,
"timezone": "Europe/Amsterdam",
"isp": "Nybula LLC",
"org": "Neterra Ltd",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "178.215.224.255"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "cheapy.host LLC",
"org": "CHEAPY.HOST",
"as": "AS401120 cheapy.host LLC",
"asname": "CHEAPY-HOST",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "94.156.167.255"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "45.149.241.255"
},
{
"status": "success",
"country": "The Netherlands",
"countryCode": "NL",
"region": "NH",
"regionName": "North Holland",
"city": "Amsterdam",
"district": "",
"zip": "1017",
"lat": 52.364,
"lon": 4.8913,
"timezone": "Europe/Amsterdam",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "81.161.238.255"
},
{
"status": "success",
"country": "Bulgaria",
"countryCode": "BG",
"region": "21",
"regionName": "Smolyan",
"city": "Dospat",
"district": "",
"zip": "4831",
"lat": 41.6543,
"lon": 24.1576,
"timezone": "Europe/Sofia",
"isp": "cheapy.host LLC",
"org": "CHEAPY.HOST",
"as": "AS401120 cheapy.host LLC",
"asname": "CHEAPY-HOST",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "94.156.104.101"
},
{
"status": "success",
"country": "The Netherlands",
"countryCode": "NL",
"region": "NH",
"regionName": "North Holland",
"city": "Amsterdam",
"district": "",
"zip": "1017",
"lat": 52.364,
"lon": 4.8913,
"timezone": "Europe/Amsterdam",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "178.215.224.124"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt Am Main",
"district": "",
"zip": "60313",
"lat": 50.1153,
"lon": 8.6805,
"timezone": "Europe/Berlin",
"isp": "IP-Projects GmbH & Co. KG",
"org": "Gwy It Pty Ltd",
"as": "AS48314 Michael Sebastian Schinzel trading as IP-Projects GmbH & Co. KG",
"asname": "IP-PROJECTS",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "194.48.251.133"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "EKABI",
"org": "Ekabi LLC",
"as": "AS401115 EKABI",
"asname": "EKABI",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.120.127.124"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "cheapy.host LLC",
"org": "CHEAPY.HOST",
"as": "AS401120 cheapy.host LLC",
"asname": "CHEAPY-HOST",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "94.156.167.140"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "cheapy.host LLC",
"org": "CHEAPY.HOST",
"as": "AS401120 cheapy.host LLC",
"asname": "CHEAPY-HOST",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "45.88.88.255"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "93-123-109-141.sarnica.net",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "93.123.109.141"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "EKABI",
"org": "Ekabi LLC",
"as": "AS401115 EKABI",
"asname": "EKABI",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "87.120.125.219"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "94.103.125.239"
},
{
"status": "success",
"country": "Germany",
"countryCode": "DE",
"region": "HE",
"regionName": "Hesse",
"city": "Frankfurt am Main",
"district": "",
"zip": "60313",
"lat": 50.1109,
"lon": 8.68213,
"timezone": "Europe/Berlin",
"isp": "cheapy.host LLC",
"org": "CHEAPY.HOST",
"as": "AS401120 cheapy.host LLC",
"asname": "CHEAPY-HOST",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "93.123.39.120"
},
{
"status": "success",
"country": "The Netherlands",
"countryCode": "NL",
"region": "NH",
"regionName": "North Holland",
"city": "Amsterdam",
"district": "",
"zip": "1017",
"lat": 52.364,
"lon": 4.8913,
"timezone": "Europe/Amsterdam",
"isp": "Nybula LLC",
"org": "Nybula LLC",
"as": "AS401116 Nybula LLC",
"asname": "NYBULA",
"reverse": "",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "81.161.238.219"
}
]