Beispiel #1
0
	def prepare_network_time(self, value):
		try:
			result = self.value_cache['time'][value]
		except KeyError:
			result = GObject.Value(GObject.TYPE_STRING, utils.format_timestamp(value))
			self.value_cache['time'][value] = result
		return result
Beispiel #2
0
	def add(self, origin, message):
		if not self.cleanup():
			return
		row = self.store.append([utils.format_timestamp(time.time()), origin, message])
		path = self.store.get_path(row)
		self.treeview.scroll_to_cell(path)
		self.rows.append(row)
Beispiel #3
0
    def export_networks_kmz_folders(self, count, networks):
        kml_placemark = """<Placemark><styleUrl>#%s</styleUrl><name>%s</name>
<Point><coordinates>%s,%s</coordinates></Point>
<description><![CDATA[
SSID: %s<br />
MAC: %s<br />
Manuf: %s<br />
Type: %s<br />
Channel: %s<br />
Encryption: <FONT color=%s>%s</FONT><br />
Last time: %s<br />
GPS: %s,%s]]></description></Placemark>"""

        folders = {"WPA2": [], "WPA": [], "WEP": [], "None": [], "Other": []}
        colors = {
            "WPA2": "red",
            "WPA": "orange",
            "WEP": "yellow",
            "None": "green",
            "Other": "grey"
        }
        for mac in networks:
            network = self.networks[mac]
            if network["lat"] == 0 and network["lon"] == 0:
                continue

            ssid = network["ssid"].replace("<", "&lt;").replace(
                ">", "&gt;").replace("&", "&amp;")

            crypts = decode_cryptset(network["cryptset"])

            crypt = "Other"
            if "aes_ccm" in crypts or "aes_ocb" in crypts:
                crypt = "WPA2"
            elif "wpa" in crypts:
                crypt = "WPA"
            elif "wep" in crypts:
                crypt = "WEP"
            elif "none" in crypts:
                crypt = "None"

            folders[crypt].append(kml_placemark % (
                crypt,
                ssid,
                network["lon"],
                network["lat"],
                ssid,
                mac,
                network["manuf"],
                network["type"],
                network["channel"],
                colors[crypt],
                ",".join(crypts).upper(),
                utils.format_timestamp(network["lasttime"]),
                network["lon"],
                network["lat"],
            ))
            count[crypt] += 1
        return folders
Beispiel #4
0
 def prepare_network_time(self, value):
     try:
         result = self.value_cache['time'][value]
     except KeyError:
         result = GObject.Value(GObject.TYPE_STRING,
                                utils.format_timestamp(value))
         self.value_cache['time'][value] = result
     return result
Beispiel #5
0
	def export_networks_mappoint(self, filename, networks):
		f = open(filename, "w")
		
		f.write('Latitude;Longitude;SSID;BSSID;Encryption;Channel;Last Seen;\n')
		for mac in networks:
			network = self.networks[mac]
			if network["lat"] == 0 and network["lon"] == 0:
				continue
			gps = "%s;%s" % (network["lat"], network["lon"])
			f.write('%s;"%s";%s;%s;%s;%s;\n' % (
				gps.replace(".",","), network["ssid"].replace(";"," ").replace('"'," "),
				mac, print_cryptset(network["cryptset"]), network["channel"], utils.format_timestamp(network["lasttime"])
				))
		f.close()
Beispiel #6
0
    def export_networks_mappoint(self, filename, networks):
        f = open(filename, "w")

        f.write('Latitude;Longitude;SSID;BSSID;Encryption;Channel;Last Seen;\n')
        for mac in networks:
            network = self.networks[mac]
            if network["lat"] == 0 and network["lon"] == 0:
                continue
            gps = "%s;%s" % (network["lat"], network["lon"])
            f.write('%s;"%s";%s;%s;%s;%s;\n' % (
                gps.replace(".", ","), network["ssid"].replace(";", " ").replace('"', " "),
                mac, print_cryptset(network["cryptset"]), network["channel"],
                utils.format_timestamp(network["lasttime"])
            ))
        f.close()
Beispiel #7
0
	def export_networks_kmz_folders(self, count, networks):
		kml_placemark = """<Placemark><styleUrl>#%s</styleUrl><name>%s</name>
<Point><coordinates>%s,%s</coordinates></Point>
<description><![CDATA[
SSID: %s<br />
MAC: %s<br />
Manuf: %s<br />
Type: %s<br />
Channel: %s<br />
Encryption: <FONT color=%s>%s</FONT><br />
Last time: %s<br />
GPS: %s,%s]]></description></Placemark>"""
		
		folders = {"WPA2":[], "WPA":[], "WEP":[], "None":[], "Other":[]}
		colors = {"WPA2":"red", "WPA":"orange", "WEP":"yellow", "None":"green", "Other":"grey"}
		for mac in networks:
			network = self.networks[mac]
			if network["lat"] == 0 and network["lon"] == 0:
				continue
			
			ssid = network["ssid"].replace("<","&lt;").replace(">","&gt;").replace("&","&amp;")
			
			crypts = decode_cryptset(network["cryptset"])

			crypt = "Other"
			if "aes_ccm" in crypts or "aes_ocb" in crypts:
				crypt = "WPA2"
			elif "wpa" in crypts:
				crypt = "WPA"
			elif "wep" in crypts:
				crypt = "WEP"
			elif "none" in crypts:
				crypt = "None"
			
			folders[crypt].append(kml_placemark %(
				crypt, ssid, network["lon"],network["lat"], ssid, mac,
				network["manuf"], network["type"], network["channel"],
				colors[crypt], ",".join(crypts).upper(), utils.format_timestamp(network["lasttime"]),
				network["lon"], network["lat"],
			))
			count[crypt] += 1
		return folders