Changeset 5713

Show
Ignore:
Timestamp:
07/06/10 02:33:39 (3 years ago)
Author:
diogo
Message:

attractors normalized. fingerprint calculated in som. frontend interaction with honeyd detection.

Location:
zion/trunk/umit
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • zion/trunk/umit/scan/zion/gui/ZionScanNotebookPage.py

    r5705 r5713  
    162162                                                text=1) 
    163163 
    164         self.__hosts_store.append([PIXBUF_FIREWALL, 
     164        """self.__hosts_store.append([PIXBUF_FIREWALL, 
    165165            'firewall.example.com\n192.0.2.1']) 
    166166        self.__hosts_store.append([PIXBUF_SYNPROXY, 
    167167            'synproxy.example.com\n192.0.2.2']) 
    168168        self.__hosts_store.append([PIXBUF_HONEYD, 
    169             'honeyd.example.com\n192.0.2.3']) 
     169            'honeyd.example.com\n192.0.2.3'])""" 
    170170 
    171171        self.__column_type.set_reorderable(True) 
     
    189189        """ 
    190190        path = widget.get_cursor()[0] 
    191         iter = self.__hosts_store.get_iter(path) 
    192         self.__hosts_store.get_value(iter, 0) 
     191        if len(self.__hosts_store)>0: 
     192            iter = self.__hosts_store.get_iter(path) 
     193            self.__hosts_store.get_value(iter, 0) 
    193194 
    194195    def __sort_type(self, treemodel, iter1, iter2): 
     
    201202        """ 
    202203        return 0 
     204     
     205    def clear_hosts(self): 
     206        """ 
     207        """ 
     208        self.__hosts_store = gtk.ListStore(gtk.gdk.Pixbuf, 
     209                                           gobject.TYPE_STRING) 
     210         
     211    def add_host(self, name, host_type=None): 
     212        """ 
     213        """ 
     214        self.__hosts_store.append([host_type,name]) 
    203215 
    204216class ZionResultsPage(gtk.HPaned): 
     
    254266        """ 
    255267        return self.__view 
     268     
     269    def get_hosts_list(self): 
     270        """ 
     271        """ 
     272        return self.__list 
    256273 
    257274class ZionProfile(HIGVBox): 
     
    288305        """ 
    289306        ZionProfile.__init__(self, target) 
     307         
     308    def start(self): 
     309        """ 
     310        """ 
     311        z = zion.Zion(options.Options(), []) 
     312         
     313        self.result.get_hosts_list().clear_hosts() 
     314        targets = [] 
     315         
     316        if address.recognize(self.target) == address.Unknown: 
     317            l = probe.get_addr_from_name(self.target) 
     318            for i in l: 
     319                try: 
     320                    targets.append(host.Host(i, self.target)) 
     321                    host_str = '%s\n%s' % (i, self.target) 
     322                    self.result.get_hosts_list().add_host(host_str, PIXBUF_FIREWALL) 
     323                except: 
     324                    print "Unimplemented support to address: %s." % i 
     325        else: 
     326            targets.append(host.Host(self.target)) 
     327            self.result.get_hosts_list().add_host(i, PIXBUF_FIREWALL) 
     328             
     329        z.get_option_object().add("-c","wlan0") 
     330        z.get_option_object().add("--forge-addr","192.168.1.2") 
     331         
     332        """for target in targets: 
     333            if z.honeyd_detection(target): 
     334                print 'target is honeyd' 
     335            else: 
     336                print 'target isnt honeyd'""" 
    290337 
    291338 
  • zion/trunk/umit/zion/core/zion.py

    r5709 r5713  
    2525from math import sqrt 
    2626 
    27 from umit.clann import som 
     27from umit.clann import som, matrix 
    2828from umit.zion.core import options, host 
    2929from umit.zion.scan import sniff, portscan, forge 
     
    3232AMOUNT_OS_DETECTION = 2000 
    3333AMOUNT_HONEYD_DETECTION = 25 
    34 SEND_INTERVAL = 0.02 
     34SEND_INTERVAL = 0.1 
    3535 
    3636class Zion(object): 
     
    203203             
    204204            print 'Creating attractors' 
    205             self.__som = som.new(10,(30,30)) 
    206205            self.__classification(Rt) 
    207206                 
     
    291290        self.__attractors = [] 
    292291                 
     292        # normalize results 
     293        max_val = max(Rt) 
     294        min_val = min(Rt) 
     295        ratio = 2/(max_val-min_val) 
     296         
     297        self.__som = som.new(10,(30,30)) 
     298        self.__matrix = matrix.new(len(Rt)-1,2) 
     299         
    293300        for i in range(len(Rt)-1): 
    294             self.__attractors.append((Rt[i+1],Rt[i])) 
    295           
     301            x = (Rt[i+1]-min_val)*ratio-1 
     302            y = (Rt[i]-min_val)*ratio-1 
     303            self.__attractors.append((x, y)) 
     304            matrix.set(self.__matrix, i, 0, x) 
     305            matrix.set(self.__matrix, i, 1, y) 
     306             
    296307        # TODO: confirm how train works 
    297         #som.train(self.__som, matrix, 1800) 
     308        som.train(self.__som, self.__matrix, 1800) 
    298309 
    299310