-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathipgeolocation.py
More file actions
92 lines (68 loc) · 2.92 KB
/
Copy pathipgeolocation.py
File metadata and controls
92 lines (68 loc) · 2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/usr/bin/env python3
# encoding: UTF-8
"""
IPTrack tool.
https://github.com/Strix2109/IPTrack.git
____ _____ ____ _____ __ ___ ____
/ ___|_ _| _ \|_ _\ \/ / |_ _| _ \
\___ \ | | | |_) || | \ / | || |_) |
___) || | | _ < | | / \ | || __/
|____/ |_| |_| \_\___/_/\_\ |___|_|
By STRIX CYBER COMMUNITY
Instagram- @strix_21
Youtube- STRIX.D
IPGeoLocation - Retrieve IP Geolocation information
Powered by http://ip-api.com
"""
__author__ = 'Santkr.'
import sys, os
from core.IpGeoLocationLib import IpGeoLocationLib
from core.Logger import Logger
from core.Menu import parser,args,banner
def main():
# no args provided
if len(sys.argv) == 1:
parser.print_help()
sys.exit(1)
logsDir = os.path.join(os.getcwd(), 'logs')
#resultsDir = os.path.join(os.getcwd(), 'results')
if not os.path.exists(logsDir):
os.mkdir(logsDir)
#if not os.path.exists(resultsDir):
# os.mkdir(resultsDir)
logger = Logger(args.nolog, args.verbose)
#single target or multiple targets
if(args.target and args.tlist):
logger.PrintError("You can request Geolocation information either for a single target(-t) or a list of targets(-T). Not both!", args.nolog)
sys.exit(2)
#my ip address or single target
if(args.target and args.myip):
logger.PrintError("You can request Geolocation information either for a single target(-t) or your own IP address. Not both!", args.nolog)
sys.exit(3)
#multiple targets or my ip address
if(args.tlist and args.myip):
logger.PrintError("You can request Geolocation information either for a list of targets(-T) or your own IP address. Not both!", args.nolog)
sys.exit(4)
#single target and google maps only allowed
if(args.tlist and args.g):
logger.PrintError("Google maps location is working only with single targets.", args.nolog)
sys.exit(5)
#specify user-agent or random
if(args.uagent and args.ulist):
logger.PrintError("You can either specify a user-agent string or let IPGeolocation pick random user-agent strings for you from a file.", args.nolog)
sys.exit(6)
#specify proxy or random
if(args.proxy and args.xlist):
logger.PrintError("You can either specify a proxy or let IPGeolocation pick random proxy connections for you from a file.", args.nolog)
sys.exit(7)
#init lib
ipGeoLocRequest = IpGeoLocationLib(args.target, logger, args.noprint)
print(banner)
#retrieve information
if not ipGeoLocRequest.GetInfo(args.uagent, args.tlist,
args.ulist, args.proxy, args.xlist,
args.csv, args.xml, args.txt, args.g):
logger.PrintError("Retrieving IP Geolocation information failed.")
sys.exit(8)
if __name__ == '__main__':
main()