Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/avicoder/spoodle
/ types & classes
Types & classes
49 in github.com/avicoder/spoodle
⨍
Functions
311
◇
Types & classes
49
↓ 26 callers
Class
DNSLabel
Container for DNS label Supports IDNA encoding for unicode domain names >>> l1 = DNSLabel("aaa.bbb.ccc.") >>> l2 = DNSLabel([b"aaa"
dnslib/label.py:17
↓ 18 callers
Class
DNSError
dnslib/dns.py:28
↓ 10 callers
Class
DNSServer
Convenience wrapper for socketserver instance allowing either UDP/TCP server to be started in blocking more or as a backgroun
dnslib/server.py:295
↓ 7 callers
Class
DNSRecord
Main DNS class - corresponds to DNS packet & comprises DNSHeader, DNSQuestion and RR sections (answer,ns,ar) >>> d = DNSRec
dnslib/dns.py:64
↓ 6 callers
Class
DNSHeader
DNSHeader section
dnslib/dns.py:462
↓ 6 callers
Class
DNSLogger
The class provides a default set of logging functions for the various stages of the request handled by a DNSServer instance which are
dnslib/server.py:172
↓ 5 callers
Class
Bimap
Bi-directional mapping between code/text. Initialised using: name: Used for exceptions dict: Dict mapp
dnslib/bimap.py:10
↓ 5 callers
Class
BufferError
dnslib/buffer.py:9
↓ 5 callers
Class
DNSQuestion
DNSQuestion section
dnslib/dns.py:631
↓ 4 callers
Class
DNSLabelError
dnslib/label.py:14
↓ 4 callers
Class
DigParser
Parse Dig output
dnslib/digparser.py:97
↓ 4 callers
Class
RR
DNS Resource Record Contains RR header and RD (resource data) instance
dnslib/dns.py:744
↓ 4 callers
Class
Resolver
spoodle.py:43
↓ 3 callers
Class
WordLexer
Example lexer which will split input stream into words (respecting quotes) To emit SPACE tokens: self.spacetok = ('SPACE',No
dnslib/lex.py:140
↓ 2 callers
Class
DNSBuffer
Extends Buffer to provide DNS name encoding/decoding (with caching) # Needed for Python 2/3 doctest compatibility >>> def p(s): ...
dnslib/label.py:141
↓ 1 callers
Class
Buffer
A simple data buffer - supports packing/unpacking in struct format # Needed for Python 2/3 doctest compatibility >>> def p(s): ...
dnslib/buffer.py:12
↓ 1 callers
Class
EDNSOption
EDNSOption pseudo-section Very rudimentary support for EDNS0 options however this has not been tested due to a lack of data
dnslib/dns.py:689
↓ 1 callers
Class
FixedResolver
Respond with fixed response to all requests
dnslib/fixedresolver.py:15
↓ 1 callers
Class
InterceptResolver
Intercepting resolver Proxy requests to upstream server optionally intercepting requests matching local records
dnslib/intercept.py:16
↓ 1 callers
Class
ProxyResolver
Proxy resolver - passes all requests to upstream DNS server and returns response Note that the request/response will be each
dnslib/proxy.py:10
↓ 1 callers
Class
ShellResolver
Example dynamic resolver. Maps DNS labels to shell commands and returns result as TXT record (Note: No context is passed to
dnslib/shellresolver.py:14
↓ 1 callers
Class
TXT
DNS TXT record. Pass in either a single string, or a tuple/list of strings. >>> TXT('txtvers=1') "txtvers=1" >>> TXT
dnslib/dns.py:1008
↓ 1 callers
Class
ZoneParser
Zone file parser >>> z = ZoneParser("www.example.com. 60 IN A 1.2.3.4") >>> list(z.parse()) [<DNS RR: 'www.example.c
dnslib/dns.py:1576
↓ 1 callers
Class
ZoneResolver
Simple fixed zone file resolver.
dnslib/zoneresolver.py:10
↓ 1 callers
Class
loader
spoodle.py:415
↓ 1 callers
Class
lookup
spoodle.py:269
↓ 1 callers
Class
verify_nameservers
spoodle.py:142
Class
A
dnslib/dns.py:1076
Class
AAAA
Basic support for AAAA record - accepts IPv6 address data as either a tuple of 16 bytes or in text format
dnslib/dns.py:1160
Class
BaseResolver
Base resolver implementation. Provides 'resolve' method which is called by DNSHandler with the decode request (DNSRecord instance)
dnslib/server.py:95
Class
BimapError
dnslib/bimap.py:7
Class
CNAME
dnslib/dns.py:1236
Class
DNSHandler
Handler for socketserver. Transparently handles both TCP/UDP requests (TCP requests have length prepended) and hands off lookup to re
dnslib/server.py:117
Class
DNSKEY
dnslib/dns.py:1448
Class
EDNS0
ENDS0 pseudo-record Wrapper around the ENDS0 support in RR to make it more convenient to create EDNS0 pseudo-record - this
dnslib/dns.py:871
Class
Lexer
Simple Lexer base class. Provides basic lexer framework and helper functionality (read/peek/pushback etc) Each state is imp
dnslib/lex.py:12
Class
MX
dnslib/dns.py:1194
Class
NAPTR
dnslib/dns.py:1381
Class
NS
dnslib/dns.py:1276
Class
PTR
dnslib/dns.py:1273
Class
PassthroughDNSHandler
Modify DNSHandler logic (get_reply method) to send directly to upstream DNS server rather then decoding/encoding packet and
dnslib/proxy.py:44
Class
RD
Base RD object - also used as placeholder for unknown RD types To create a new RD type subclass this and add to RDMAP (below)
dnslib/dns.py:925
Class
RRSIG
dnslib/dns.py:1485
Class
RandomLexer
Test lexing from infinite stream. Extract strings of letters/numbers from /dev/urandom >>> import itertools,sys >>
dnslib/lex.py:247
Class
SOA
dnslib/dns.py:1279
Class
SRV
dnslib/dns.py:1335
Class
TCPServer
dnslib/server.py:292
Class
TestContainer
dnslib/test_decode.py:66
Class
UDPServer
dnslib/server.py:289