Z důvodů pořešení nějakých bezpečnostních praktik jsem potřeboval nějak blíže geolokalizovat IP přihlašovaného uživatele, respektive záškodníka, abych věděl odkud se fyzicky přihlašuje:
NodeJS: geolokalizace IP adresy
'use strict';
const request = require('request');
function getIpGeolocation(ip, callBack) {
request(`http://ipinfo.io/${ip}/json`, (error, response, body) => {
if (!error && body) {
callBack(null, JSON.parse(body));
} else {
callBack(error, null);
}
});
}
// TESTOVACI SEKCE
// Pro spuseteni na prikazove radce, kde 1. argumentem je hledana IP adresa
if (require.main === module) {
if (process.argv.length < 3) {
console.log('Spatny pocet argumentu: 1.argument = IP adresa');
} else {
getIpGeolocation(process.argv[2], (err, info) => {
if (!err && info) {
console.log(JSON.stringify(info, null, 4));
}
});
}
}
Python: geolokalizace IP adresy
#!/usr/local/bin/python
import json
from urllib2 import urlopen
from sys import argv, exit
def get_ip_geolocation(ip):
return json.load(urlopen('http://ipinfo.io/{0}/json'.format(ip)))
if __name__ == "__main__":
if len(argv) < 2:
ip = raw_input("IP: ")
else:
ip = argv[1]
info = get_ip_geolocation(ip)
info["ip"] = ip
for i in info:
print("{:10}: {}".format(i, info[i]))