summaryrefslogtreecommitdiffstats
path: root/scripts/external_libs/scapy-python3-0.18/scapy/modules/queso.py
diff options
context:
space:
mode:
authorimarom <imarom@cisco.com>2016-03-21 16:03:47 +0200
committerimarom <imarom@cisco.com>2016-03-21 16:03:47 +0200
commitb89efa188810bf95a9d245e69e2961b5721c3b0f (patch)
tree454273ac6c4ae972ebb8a2c86b893296970b4fa9 /scripts/external_libs/scapy-python3-0.18/scapy/modules/queso.py
parentf72c6df9d2e9998ae1f3529d729ab7930b35785a (diff)
scapy python 2/3
Diffstat (limited to 'scripts/external_libs/scapy-python3-0.18/scapy/modules/queso.py')
-rw-r--r--scripts/external_libs/scapy-python3-0.18/scapy/modules/queso.py113
1 files changed, 0 insertions, 113 deletions
diff --git a/scripts/external_libs/scapy-python3-0.18/scapy/modules/queso.py b/scripts/external_libs/scapy-python3-0.18/scapy/modules/queso.py
deleted file mode 100644
index fbc7d06b..00000000
--- a/scripts/external_libs/scapy-python3-0.18/scapy/modules/queso.py
+++ /dev/null
@@ -1,113 +0,0 @@
-## This file is part of Scapy
-## See http://www.secdev.org/projects/scapy for more informations
-## Copyright (C) Philippe Biondi <phil@secdev.org>
-## This program is published under a GPLv2 license
-
-"""
-Clone of queso OS fingerprinting
-"""
-
-from scapy.data import KnowledgeBase
-from scapy.config import conf
-from scapy.layers.inet import IP,TCP
-#from
-
-conf.queso_base ="/etc/queso.conf"
-
-
-#################
-## Queso stuff ##
-#################
-
-
-def quesoTCPflags(flags):
- if flags == "-":
- return "-"
- flv = "FSRPAUXY"
- v = 0
- for i in flags:
- v |= 2**flv.index(i)
- return "%x" % v
-
-class QuesoKnowledgeBase(KnowledgeBase):
- def lazy_init(self):
- try:
- f = open(self.filename)
- except IOError:
- return
- self.base = {}
- p = None
- try:
- for l in f:
- l = l.strip()
- if not l or l[0] == ';':
- continue
- if l[0] == '*':
- if p is not None:
- p[""] = name
- name = l[1:].strip()
- p = self.base
- continue
- if l[0] not in list("0123456"):
- continue
- res = l[2:].split()
- res[-1] = quesoTCPflags(res[-1])
- res = " ".join(res)
- if not res in p:
- p[res] = {}
- p = p[res]
- if p is not None:
- p[""] = name
- except:
- self.base = None
- warning("Can't load queso base [%s]", self.filename)
- f.close()
-
-
-queso_kdb = QuesoKnowledgeBase(conf.queso_base)
-
-
-def queso_sig(target, dport=80, timeout=3):
- p = queso_kdb.get_base()
- ret = []
- for flags in ["S", "SA", "F", "FA", "SF", "P", "SEC"]:
- ans, unans = sr(IP(dst=target)/TCP(dport=dport,flags=flags,seq=RandInt()),
- timeout=timeout, verbose=0)
- if len(ans) == 0:
- rs = "- - - -"
- else:
- s,r = ans[0]
- rs = "%i" % (r.seq != 0)
- if not r.ack:
- r += " 0"
- elif r.ack-s.seq > 666:
- rs += " R" % 0
- else:
- rs += " +%i" % (r.ack-s.seq)
- rs += " %X" % r.window
- rs += " %x" % r.payload.flags
- ret.append(rs)
- return ret
-
-def queso_search(sig):
- p = queso_kdb.get_base()
- sig.reverse()
- ret = []
- try:
- while sig:
- s = sig.pop()
- p = p[s]
- if "" in p:
- ret.append(p[""])
- except KeyError:
- pass
- return ret
-
-
-@conf.commands.register
-def queso(*args,**kargs):
- """Queso OS fingerprinting
-queso(target, dport=80, timeout=3)"""
- return queso_search(queso_sig(*args, **kargs))
-
-