diff --git a/main.py b/main.py index 0293e3c..8f23712 100644 --- a/main.py +++ b/main.py @@ -94,7 +94,7 @@ class bc(object): if folder.endswith('.default'): osx_default = os.path.join(f_osx, folder) self.browser_path = os.path.join(osx_default, 'places.sqlite') - print "Setting:", self.browser_path, "as history file" + #print "Setting:", self.browser_path, "as history file" self.browser = "F" elif os.path.exists(c_osx): self.browser = "C" @@ -126,11 +126,14 @@ class bc(object): self.browser = "CHROMIUM" self.browser_path = chromium_lin + print "Current browser:", self.browser, "\n" + print "Browser database:", self.browser_path, "\n" + def getURL(self): """ Set urls to visit """ - print "Browser database:", self.browser_path, "\n" + if self.browser == "F": #Firefox history database conn = sqlite3.connect(self.browser_path) c = conn.cursor() @@ -170,19 +173,21 @@ class bc(object): exit(2) self.url = url - print "Fetching URL:", self.url[0], "\n" return url[0] def traces(self): while True: - url = urlparse(self.url[0]).netloc + print "Fetching URL:", self.url[0], "\n" + #url = urlparse(self.url[0]).netloc + url = urlparse(self.getURL()).netloc #changed this for prototyping url = url.replace('www.','') #--> doing a tracert to example.com and www.example.com yields different results. url_ip = socket.gethostbyname(url) + print url if url != self.old_url: count = 0 - a = subprocess.Popen(['lft', '-S', '-n', '-E', url_ip], stdout=subprocess.PIPE) # -> using tcp - #a = subprocess.Popen(['lft', '-S', '-n', '-u', url_ip], stdout=subprocess.PIPE) # -> using udp + #a = subprocess.Popen(['lft', '-S', '-n', '-E', url_ip], stdout=subprocess.PIPE) # -> using tcp + a = subprocess.Popen(['lft', '-S', '-n', '-u', url_ip], stdout=subprocess.PIPE) # -> using udp logfile = open('logfile', 'a') for line in a.stdout: @@ -190,7 +195,7 @@ class bc(object): parts = line.split() for ip in parts: if re.match(r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$",ip): - record = geoip.record_by_addr(ip) + record = self.geoip.record_by_addr(ip) #print record try: if record.has_key('country_name') and record['city'] is not '': @@ -215,7 +220,7 @@ class bc(object): """ Get Geolocation database (http://dev.maxmind.com/geoip/legacy/geolite/) """ - # Download and extract database + # Download, extract and set geoipdatabase if not os.path.exists('GeoLiteCity.dat'): import urllib, gzip geo_db_path = '/' @@ -238,7 +243,7 @@ class bc(object): os.remove('GeoLiteCity.gz') # Set database (GeoLiteCity) - geoip= pygeoip.GeoIP('GeoLiteCity.dat') + self.geoip= pygeoip.GeoIP('GeoLiteCity.dat') def run(self, opts=None): """