Friday, May 3, 2013

Great Book: Violent Python by TJ O'Conner - Geo Location Script Adapted

#!/usr/bin/python
# -*- coding: utf-8 -*-

# Script was adapted from Violent Python by TJ O'Conner

import dpkt
import socket
import pygeoip
import optparse
# Geodatabase from Maxmind
gi = pygeoip.GeoIP('geo.dat')


def retKML(description, ip):
    rec = gi.record_by_name(ip)
    try:
        longitude = rec['longitude']
        latitude = rec['latitude']
        kml = (
               '<Placemark>\n'
               '<name>%s</name>\n'
               '<Point>\n'
               '<coordinates>%6f,%6f</coordinates>\n'
               '</Point>\n'
               '</Placemark>\n'
               ) %(description, longitude, latitude)
        return kml
    except:
        return ''



def main():
        # logfile.log contains 2 columns consisting of the label and the IP Address
        f = open('logfile.log', 'r')
        kmlPoints = ''
        count = 1
        for line in f:
                info = line.split()
                for item in info:
                        if count == 1:
                                description = item
                                count = 2
                        else:
                                ip = item
                                count = 1

                location = retKML(description, ip)
                kmlPoints = kmlPoints + location

        kmlheader = '<?xml version="1.0" encoding="UTF-8"?>\n<kml xmlns="http://www.opengis.net/kml/2.2">\n<Document>\n'
        kmlfooter = '</Document>\n</kml>\n'
        kmldoc = kmlheader + kmlPoints + kmlfooter
        print kmldoc



if __name__ == '__main__':
        main()

No comments:

Post a Comment

Test Authentication from Linux Console using python3 pexpect

Working with the IT420 lab, you will discover that we need to discover a vulnerable user account.  The following python3 script uses the pex...