def paquete(self,pkt ): try: red = self.network dstmac = pkt ['dstmac'] except: print pkt respuesta = "" if self.proceso == 0: respuesta = arp.arp_spoofing(pkt, self.dicSolicitudesA, self.dicMacIpA,self.dicMacPuertoA, self.ListaAtacantesA) if respuesta == "LAN": respuesta = ip.ip_spoofing(pkt, self.dicIpMacI, self.dicMacPuertoI, self.lstMacAtacanteI, self.puertoHoneynet) if respuesta == "LAN": respuesta = tcp.tcp_syn_flood(pkt, self.lstAtacantesT, self.dicSolicitudesT, self.dicClientesT, IP(self.ipServidor), self.num_max_permitido) if respuesta == "LAN": respuesta = udp.dns_spoofing(pkt, self.ListaAtacantesU, MAC(self.macGateway)) if respuesta == "LAN": respuesta = icmp.smurf(pkt, IP(self.ipBroadcast)) if respuesta == "LAN": respuesta = https.thc_ssl_dos(pkt, self.lstAtacantesS, self.dicSolicitudesS, self.dicClientesS, IP(self.ipServidor), self.num_max_permitido) elif self.proceso == 1: respuesta = arp.arp_spoofing(pkt, self.dicSolicitudesA, self.dicMacIpA, self.dicMacPuertoA, self.ListaAtacantesA) elif self.proceso == 2: respuesta = ip.ip_spoofing(pkt, self.dicIpMacI, self.dicMacPuertoI, self.lstMacAtacanteI, self.puertoHoneynet) elif self.proceso == 3: respuesta = tcp.tcp_syn_flood(pkt, self.lstAtacantesT, self.dicSolicitudesT, self.dicClientesT, IP(self.ipServidor), self.num_max_permitido) elif self.proceso == 4: respuesta = udp.dns_spoofing(pkt, self.ListaAtacantesU, MAC(self.macGateway)) elif self.proceso == 5: respuesta = icmp.smurf(pkt, IP(self.ipBroadcast)) elif self.proceso == 6: respuesta = https.thc_ssl_dos(pkt, self.lstAtacantesS, self.dicSolicitudesS, self.dicClientesS, IP(self.ipServidor), self.num_max_permitido) try: if respuesta == "LAN": enviar.enviar_Lan(pkt, red, self.puertoHoneynet) elif respuesta == "HONEYNET": enviar.enviar_Honeynet(pkt, red, self.puertoHoneynet) elif respuesta == "TODO": enviar.enviar_Todo(pkt, red) elif respuesta == "ATACANTE": enviar.enviar_Honeynet(pkt, red, self.dicMacPuertoI[dstmac]) except: print ""
def paquete(self,pkt ): try: tipoPkt = pkt['ethtype'] red = self.network protocolo = pkt['protocol'] srcip = pkt['srcip'] dstmac = pkt ['dstmac'] except: print pkt respuesta = "" if self.proceso == 0: if tipoPkt == 2054: respuesta = arp.arp_spoofing(pkt, self.ListaARP) elif tipoPkt == 2048: respuesta = ip.ip_spoofing(pkt, self.IpMac, self.Paquete, self.lstSrcMac, self.lstMacAtacante, self.ipGateway) if respuesta == "LAN": if protocolo == 6: respuesta = tcp.tcp_syn_flood(pkt, self.ListaAtacantes, self.ListaClientes, self.ListaSolicitudes, self.IpNumSOLT, self.IpNumCLIT, self.ipServidor, self.num_max_conexiones, self.tamano_max_listasolicitudes) if respuesta == "LAN": if true: respuesta = https.thc_ssl_dos(red, pkt, self.ListaAtacantesT, self.ListaClientesT, self.ListaSolicitudesT, self.IpNumC, self.IpNumS) else: respuesta = "LAN" elif protocolo == 17: respuesta = udp.dns_spoofing(pkt, red, self.ListaAtacantesDNS, self.macGateway) elif protocolo == 1: respuesta = icmp.smurf(pkt) else: print "Paquete desconocido" respuesta = "LAN" elif self.proceso == 1: if tipoPkt == 2054: respuesta = arp.arp_spoofing(pkt, self.dicSolicitudesARP, self.dicRespuestasARP, self.dicMacIp, self.ListaAtacantesARP, self.num_max_solicitudes) else : respuesta = "LAN" elif self.proceso == 2: respuesta = ip.ip_spoofing(pkt, self.IpMac, self.MacPuerto, self.lstMacAtacante, self.puertoHoneynet) elif self.proceso == 3: try: if tipoPkt == 2048 and protocolo == 6: respuesta = tcp.tcp_syn_flood(pkt, self.lstAtacantesT, self.dicSolicitudesT, self.dicClientesT, self.ipServidor, self.num_max_conexiones) else: if (srcip in self.lstAtacantesT): respuesta = "HONEYNET" else: respuesta = "LAN" except: print("ERROR TCP") elif self.proceso == 4: respuesta = udp.dns_spoofing(pkt, self.ListaAtacantesDNS, MAC(self.macGateway)) elif self.proceso == 5: if tipoPkt == 2048 and protocolo == 1: respuesta = icmp.smurf(pkt, IP(self.ipBroadcast)) else: respuesta = "LAN" if self.proceso == 6: try: if tipoPkt == 2048 and protocolo == 6: respuesta = https.thc_ssl_dos(pkt, self.lstAtacantesS, self.dicSolicitudesS, self.dicClientesS, IP(self.ipServidor), self.num_max_conexiones) else: if (srcip in self.lstAtacantesS): respuesta = "HONEYNET" else: respuesta = "LAN" except: print("ERROR TCP") if respuesta == "LAN": enviar.enviar_paquete(pkt, red, self.puertoHoneynet) elif respuesta == "HONEYNET": enviar.enviar_Honeynet(pkt, red, self.puertoHoneynet) elif respuesta == "TODO": enviar.enviar_todo(pkt, red) elif respuesta == "ATACANTE": enviar.enviar_Honeynet(pkt, red,self.MacPuerto[dstmac])