diff --git a/main.py b/main.py
index f3987d0..b009572 100755
--- a/main.py
+++ b/main.py
@@ -251,10 +251,10 @@ class bc(object):
if self.method == '-e':
self.method = '-E'
try:
- self.content = subprocess.check_output(['lft', '-S', '-n', self.method, self.destination_ip])
+ self.content = subprocess.check_output(['lft', '-S', '-n', self.destination_ip])
# support for older python versions (<2.7) that don't support subprocess.check_output
except:
- a = subprocess.Popen(['lft', '-S', '-n', self.method, self.destination_ip], stdout=subprocess.PIPE)
+ a = subprocess.Popen(['lft', '-S', '-n', self.destination_ip], stdout=subprocess.PIPE)
self.content = a.stdout.read()
self.attempts += 1
@@ -331,27 +331,21 @@ class bc(object):
self.attempts = 0
self.result_list = []
self.lft()
-
-
if self.options.debug == True:
logfile = open('tracelogfile', 'a')
thingstolog = ['='*45 + "\n", "Browser: ", self.browser_path.split('/')[-1], "\n", "Version: ", self.browser_version, "\n", "Path to browser: ", self.browser_path, "\n", "History db: ", self.browser_history_path, "\n","URL: ", self.url[0], "\n", "Host: ",url, "\n", "Host ip: ", url_ip, "\n", '='*45, "\n"]
for item in thingstolog:
logfile.write(item)
print '='*45 + "\n" + "Packages Route:\n" + '='*45
-
output = self.content.splitlines()
-
for line in output:
if self.options.debug == True:
logfile.write(line+'\n')
line = line.split()
-
for ip in line:
if re.match(r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$",ip):
self.hop_ip = ip
-
record = self.geoip.record_by_addr(ip)
try:
self.asn = self.geoasn.org_by_addr(ip)
@@ -389,8 +383,9 @@ class bc(object):
self.vardict = {'destination_ip': self.destination_ip, 'hop_count': self.hop_count,'hop_ip': self.hop_ip, 'server_name': self.server_name, 'country': self.country, 'city': self.city, 'longitude': self.longitude, 'latitude': self.latitude, 'asn' : self.asn, 'timestamp' : self.timestamp }
except:
print "Trace:", self.hop_count, "->", "Not allowed"
- self.hop_count+=1
+ self.vardict = {'destination_ip': self.destination_ip, 'hop_count': self.hop_count,'hop_ip': self.hop_ip, 'server_name': self.server_name, 'country': '-', 'city': '-', 'longitude': '-', 'latitude': '-', 'asn' : self.asn, 'timestamp' : self.timestamp }
+ self.hop_count+=1
# write xml data to file
self.result_list.append(self.vardict)
xml_results = xml_reporting(self)
@@ -403,10 +398,8 @@ class bc(object):
logfile.close()
self.old_url = url
self.hop_count = 0 # to start a new map
- print "\n"
return
-
def getGEO(self):
"""
Get Geolocation database (http://dev.maxmind.com/geoip/legacy/geolite/)
diff --git a/web/index.py b/web/index.py
index da8c5b5..2eab7ab 100755
--- a/web/index.py
+++ b/web/index.py
@@ -1,25 +1,21 @@
-#new index.py
-# -*- coding: ISO-8859-1 -*-
-from lxml import etree
-
+#!/usr/bin/python
+# -*- coding: iso-8859-15 -*-
+"""
+BC (Border-Check) is a tool to retrieve info of traceroute tests over website navigation routes.
+GPLv3 - 2013 by psy (epsylon@riseup.net)
+"""
from xml.dom.minidom import parseString
+import xml.etree.ElementTree as ET
# extract data from a xml file
f = open('data.xml', 'r')
f2 = open('data.xml', 'r')
-xml = etree.parse(f)
-
+xml = ET.parse(f)
data = f2.read()
dom = parseString(data.encode('utf-8'))
-
f.close()
f2.close()
-
-
-
-
n_hops = dom.getElementsByTagName('hop')[-1].toxml().replace('', '').replace('','').replace('','')
- asn = hop.getElementsByTagName('asn')[0].toxml().replace('','').replace('','')
- hop_ip = hop.getElementsByTagName('hop_ip')[0].toxml().replace('','').replace('','')
- longitude = hop.getElementsByTagName('longitude')[0].toxml().replace('','').replace('','')
- latitude = hop.getElementsByTagName('latitude')[0].toxml().replace('','').replace('','')
-
- point = """ L.marker(["""+latitude+""", """+longitude+"""]).addTo(map)
- .bindPopup(""""+server_name+"""
"""+hop_ip+"""
"""+asn+"""
").openPopup(); """
-
- latlong = [float(latitude.encode('utf-8')), float(longitude.encode('utf-8'))]
- geoarray.append(latlong)
+ hop = parseString(dom.getElementsByTagName('hop')[counter].toxml().encode('utf-8'))
+ server_name = hop.getElementsByTagName('server_name')[0].toxml().replace('','').replace('','')
+ asn = hop.getElementsByTagName('asn')[0].toxml().replace('','').replace('','')
+ hop_ip = hop.getElementsByTagName('hop_ip')[0].toxml().replace('','').replace('','')
+ longitude = hop.getElementsByTagName('longitude')[0].toxml().replace('','').replace('','')
+ latitude = hop.getElementsByTagName('latitude')[0].toxml().replace('','').replace('','')
- hoplist.append(point)
+ point = """ L.marker(["""+latitude+""", """+longitude+"""]).addTo(map)
+ .bindPopup(""""+server_name+"""
"""+hop_ip+"""
"""+asn+"""
").openPopup(); """
- b = b+point
-
-
-test = open('test.html','w')
+ latlong = [float(latitude.encode('utf-8')), float(longitude.encode('utf-8'))]
+ geoarray.append(latlong)
+ hoplist.append(point)
+ b = b+point
output = """
@@ -78,6 +69,3 @@ output = """