CSC842 unlisted mirror of private Github repo.
Find a file
2023-07-03 00:47:36 -07:00
drawbridge MVP 2023-07-03 00:43:49 -07:00
examples Add example chat app 2023-07-03 00:47:36 -07:00
.flake8 Add initial nfqueue management/processing 2023-06-30 11:24:57 -07:00
.gitignore Initial setup. Project pivot! 2023-06-29 22:51:14 -07:00
.pre-commit-config.yaml Initial setup. Project pivot! 2023-06-29 22:51:14 -07:00
drawbridge.png Initial setup. Project pivot! 2023-06-29 22:51:14 -07:00
LICENSE Initial commit 2023-06-29 22:23:12 -07:00
pyproject.toml Remove scapy dependency 2023-06-30 11:25:40 -07:00
README.md MVP 2023-07-03 00:43:49 -07:00

drawbridge Logo

drawbridge

drawbridge simplifies local nfqueue queues

without sacrificing performance?

InstallationExamplesContributingLicense

Installation

with pip

Eventually, install with pip install drawbridge, maybe.

For now, clone the repo, navigate to it, and run pip install .. You'll need a Linux system for nfqueue.

Examples

See the examples directory for a WebSocket example.

from drawbridge import DrawBridge

def my_packet_handler(raw_packet):
    # do things to the raw packet, like
    #   from scapy.all import *
    #   pkt = IP(raw_packet)
    #   ...
    #   return bytes(pkt)
    return raw_packet

db = DrawBridge()
db.add_queue(my_packet_handler, src_port=80)
db.run()

Contributing

If you would like to contribute to this project, feel free to submit a pull request or open an issue on GitHub.

This tool was written as part of my coursework for CSC 842 - Security Tool Development at Dakota State University. Consequently, I may choose not to maintain this tool beyond the length of the course, but have selected a license that enables open contributions in any case.

License

This project is licensed under the MIT License. See the LICENSE file for details.