|
@@ -1,6 +1,6 @@
|
|
import logging
|
|
import logging
|
|
|
|
|
|
-from random import randint
|
|
|
|
|
|
+from random import randint, choice
|
|
from scapy.utils import RawPcapReader
|
|
from scapy.utils import RawPcapReader
|
|
from scapy.layers.inet import Ether
|
|
from scapy.layers.inet import Ether
|
|
|
|
|
|
@@ -115,7 +115,9 @@ class SalityBotnet(BaseAttack.BaseAttack):
|
|
if ip_pkt.getfieldval("ttl") not in ttl_map:
|
|
if ip_pkt.getfieldval("ttl") not in ttl_map:
|
|
source_ttl = self.statistics.get_most_used_ttl(ip_pkt.getfieldval("src"))
|
|
source_ttl = self.statistics.get_most_used_ttl(ip_pkt.getfieldval("src"))
|
|
if not source_ttl:
|
|
if not source_ttl:
|
|
- source_ttl = self.statistics.process_db_query("SELECT ttlValue FROM ip_ttl ORDER BY RANDOM() LIMIT 1;")
|
|
|
|
|
|
+ source_ttl = self.statistics.process_db_query("SELECT ttlValue FROM ip_ttl;")
|
|
|
|
+ if isinstance(source_ttl, list):
|
|
|
|
+ source_ttl = choice(source_ttl)
|
|
ttl_map[ip_pkt.getfieldval("ttl")] = source_ttl
|
|
ttl_map[ip_pkt.getfieldval("ttl")] = source_ttl
|
|
ip_pkt.setfieldval("ttl", ttl_map[ip_pkt.getfieldval("ttl")])
|
|
ip_pkt.setfieldval("ttl", ttl_map[ip_pkt.getfieldval("ttl")])
|
|
|
|
|