Пример #1
0
 def GetDHCPRequests(self, data):
     if len(data) == 8:
         if Refactor.check_is_mac(data[4]):
             if data[4] not in self.APclients.keys():
                 self.APclients[data[4]] = {
                     'IP': data[2],
                     'device': data[5],
                     'in_tables': False,
                 }
                 self.StatusDHCPRequests(data[4])
     elif len(data) == 9:
         if Refactor.check_is_mac(data[5]):
             if data[5] not in self.APclients.keys():
                 self.APclients[data[5]] = {
                     'IP': data[2],
                     'device': data[6],
                     'in_tables': False,
                 }
                 self.StatusDHCPRequests(data[5])
     elif len(data) == 7:
         if Refactor.check_is_mac(data[4]):
             if data[4] not in self.APclients.keys():
                 leases = IscDhcpLeases('Settings/dhcp/dhcpd.leases')
                 hostname = None
                 try:
                     for item in leases.get():
                         if item.ethernet == data[4]:
                             hostname = item.hostname
                     if hostname == None:
                         item = leases.get_current()
                         hostname = item[data[4]]
                 except:
                     hostname = 'unknown'
                 if hostname == None: hostname = 'unknown'
                 self.APclients[data[4]] = {
                     'IP': data[2],
                     'device': hostname,
                     'in_tables': False,
                 }
                 self.StatusDHCPRequests(data[4])
                 self.APclients[data[4]] = {
                     'IP': data[2],
                     'device': hostname,
                     'in_tables': False,
                 }
     Headers = []
     for mac in self.APclients.keys():
         if self.APclients[mac]['in_tables'] == False:
             self.APclients[mac]['in_tables'] = True
             self.THeaders['mac-address'].append(mac)
             self.THeaders['ip-address'].append(self.APclients[mac]['IP'])
             self.THeaders['device'].append(self.APclients[mac]['device'])
             for n, key in enumerate(self.THeaders.keys()):
                 Headers.append(key)
                 for m, item in enumerate(self.THeaders[key]):
                     item = QTableWidgetItem(item)
                     item.setTextAlignment(Qt.AlignVCenter | Qt.AlignCenter)
                     self.TabInfoAP.setItem(m, n, item)
             self.TabInfoAP.setHorizontalHeaderLabels(self.THeaders.keys())
     self.connectedCount.setText(str(len(self.APclients.keys())))
Пример #2
0
    def GetDHCPRequests(self,data):
        if len(data) == 8:
            if Refactor.check_is_mac(data[4]):
                if data[4] not in self.APclients.keys():
                    self.APclients[data[4]] = {'IP': data[2],
                    'device': sub(r'[)|(]',r'',data[5]),'in_tables': False,}
                    self.StatusDHCPRequests(data[4],self.APclients[data[4]])
        elif len(data) == 9:
            if Refactor.check_is_mac(data[5]):
                if data[5] not in self.APclients.keys():
                    self.APclients[data[5]] = {'IP': data[2],
                    'device': sub(r'[)|(]',r'',data[6]),'in_tables': False,}
                    self.StatusDHCPRequests(data[5],self.APclients[data[5]])
        elif len(data) == 7:
            if Refactor.check_is_mac(data[4]):
                if data[4] not in self.APclients.keys():
                    leases = IscDhcpLeases('/var/lib/dhcp/dhcpd.leases')
                    hostname = None
                    try:
                        for item in leases.get():
                            if item.ethernet == data[4]:
                                hostname = item.hostname
                        if hostname == None:
                            item = leases.get_current()
                            hostname = item[data[4]]
                    except:
                        hostname = 'unknown'
                    if hostname == None:hostname = 'unknown'
                    self.APclients[data[4]] = {'IP': data[2],'device': hostname,
                    'in_tables': False,}
                    self.StatusDHCPRequests(data[4],self.APclients[data[4]])

        Headers = []
        for mac in self.APclients.keys():
            if self.APclients[mac]['in_tables'] == False:
                self.APclients[mac]['in_tables'] = True
                self.THeaders['mac-address'].append(mac)
                self.THeaders['ip-address'].append(self.APclients[mac]['IP'])
                self.THeaders['device'].append(self.APclients[mac]['device'])
                for n, key in enumerate(self.THeaders.keys()):
                    Headers.append(key)
                    for m, item in enumerate(self.THeaders[key]):
                        item = QTableWidgetItem(item)
                        item.setTextAlignment(Qt.AlignVCenter | Qt.AlignCenter)
                        self.TabInfoAP.setItem(m, n, item)
                self.TabInfoAP.setHorizontalHeaderLabels(self.THeaders.keys())
        self.connectedCount.setText(str(len(self.APclients.keys())))
Пример #3
0
 def GetDHCPRequests(self, data):
     if len(data) == 8:
         if Refactor.check_is_mac(data[4]):
             if data[4] not in self.APclients.keys():
                 self.APclients[data[4]] = {"IP": data[2], "device": data[5], "in_tables": False}
                 self.StatusDHCPRequests(data[4])
     elif len(data) == 9:
         if Refactor.check_is_mac(data[5]):
             if data[5] not in self.APclients.keys():
                 self.APclients[data[5]] = {"IP": data[2], "device": data[6], "in_tables": False}
                 self.StatusDHCPRequests(data[5])
     elif len(data) == 7:
         if Refactor.check_is_mac(data[4]):
             if data[4] not in self.APclients.keys():
                 leases = IscDhcpLeases("Settings/dhcp/dhcpd.leases")
                 hostname = None
                 try:
                     for item in leases.get():
                         if item.ethernet == data[4]:
                             hostname = item.hostname
                     if hostname == None:
                         item = leases.get_current()
                         hostname = item[data[4]]
                 except:
                     hostname = "unknown"
                 if hostname == None:
                     hostname = "unknown"
                 self.APclients[data[4]] = {"IP": data[2], "device": hostname, "in_tables": False}
                 self.StatusDHCPRequests(data[4])
                 self.APclients[data[4]] = {"IP": data[2], "device": hostname, "in_tables": False}
     Headers = []
     for mac in self.APclients.keys():
         if self.APclients[mac]["in_tables"] == False:
             self.APclients[mac]["in_tables"] = True
             self.THeaders["mac-address"].append(mac)
             self.THeaders["ip-address"].append(self.APclients[mac]["IP"])
             self.THeaders["device"].append(self.APclients[mac]["device"])
             for n, key in enumerate(self.THeaders.keys()):
                 Headers.append(key)
                 for m, item in enumerate(self.THeaders[key]):
                     item = QTableWidgetItem(item)
                     item.setTextAlignment(Qt.AlignVCenter | Qt.AlignCenter)
                     self.TabInfoAP.setItem(m, n, item)
             self.TabInfoAP.setHorizontalHeaderLabels(self.THeaders.keys())
     self.connectedCount.setText(str(len(self.APclients.keys())))
Пример #4
0
 def list_clicked(self, index):
     itms = self.list.selectedIndexes()
     for i in itms:
         attack = str(i.data().toString()).split()
         for i in attack:
             if Refactor.check_is_mac(i.replace(" ", "")):
                 self.linetarget.setText(str(i))
         if self.linetarget.text() == "":
             QMessageBox.information(self, "MacAddress", "Error check the Mac Target, please set the mac valid.")
Пример #5
0
 def list_clicked(self, index):
     itms = self.list.selectedIndexes()
     for i in itms:
         attack = str(i.data().toString()).split()
         for i in attack:
             if Refactor.check_is_mac(i.replace(' ', '')):
                 self.linetarget.setText(str(i))
         if self.linetarget.text() == '':
             QMessageBox.information(self, 'MacAddress',
             'Error check the Mac Target, please set the mac valid.')
Пример #6
0
 def monitorThreadScan(self,apData):
     apData = list(apData.split('|'))
     if not str(apData[0]) in self.ApsCaptured.keys():
         self.ApsCaptured[str(apData[0])] = apData
         if Refactor.check_is_mac(str(apData[0])):
            self.data['Channel'].append(self.ApsCaptured[str(apData[0])][1])
            self.data['Essid'].append(self.ApsCaptured[str(apData[0])][2])
            self.data['Bssid'].append(str(apData[0]))
            Headers = []
            for n, key in enumerate(self.data.keys()):
                Headers.append(key)
                for m, item in enumerate(self.data[key]):
                    item = QTableWidgetItem(item)
                    item.setTextAlignment(Qt.AlignVCenter | Qt.AlignCenter)
                    self.tables.setItem(m, n, item)
Пример #7
0
 def monitorThreadScan(self, apData):
     apData = list(apData.split("|"))
     if not str(apData[0]) in self.ApsCaptured.keys():
         self.ApsCaptured[str(apData[0])] = apData
         if Refactor.check_is_mac(str(apData[0])):
             self.data["Channel"].append(self.ApsCaptured[str(apData[0])][1])
             self.data["Essid"].append(self.ApsCaptured[str(apData[0])][2])
             self.data["Bssid"].append(str(apData[0]))
             Headers = []
             for n, key in enumerate(self.data.keys()):
                 Headers.append(key)
                 for m, item in enumerate(self.data[key]):
                     item = QTableWidgetItem(item)
                     item.setTextAlignment(Qt.AlignVCenter | Qt.AlignCenter)
                     self.tables.setItem(m, n, item)
Пример #8
0
 def scan_diveces_airodump(self):
     dirpath = "Settings/Dump"
     if not path.isdir(dirpath):
         makedirs(dirpath)
     self.data = {'Bssid':[], 'Essid':[], 'Channel':[]}
     exit_air = airdump_start(self.interface)
     self.fix = False
     if exit_air == None:
         self.cap = get_network_scan()
         if self.cap != None:
             for i in self.cap:
                 i = i.split("||")
                 if Refactor.check_is_mac(i[2]):
                     Headers = []
                     self.data['Channel'].append(i[0])
                     self.data['Essid'].append(i[1])
                     self.data['Bssid'].append(i[2])
                     for n, key in enumerate(self.data.keys()):
                         Headers.append(key)
                         for m, item in enumerate(self.data[key]):
                             item = QTableWidgetItem(item)
                             item.setTextAlignment(Qt.AlignVCenter | Qt.AlignCenter)
                             self.tables.setItem(m, n, item)
                 self.cap =[]
Пример #9
0
 def scan_diveces_airodump(self):
     dirpath = "Settings/Dump"
     if not path.isdir(dirpath):
         makedirs(dirpath)
     self.data = {"Bssid": [], "Essid": [], "Channel": []}
     exit_air = airdump_start(self.interface)
     self.fix = False
     if exit_air == None:
         self.cap = get_network_scan()
         if self.cap != None:
             for i in self.cap:
                 i = i.split("||")
                 if Refactor.check_is_mac(i[2]):
                     Headers = []
                     self.data["Channel"].append(i[0])
                     self.data["Essid"].append(i[1])
                     self.data["Bssid"].append(i[2])
                     for n, key in enumerate(self.data.keys()):
                         Headers.append(key)
                         for m, item in enumerate(self.data[key]):
                             item = QTableWidgetItem(item)
                             item.setTextAlignment(Qt.AlignVCenter | Qt.AlignCenter)
                             self.tables.setItem(m, n, item)
                 self.cap = []