mirror of
https://github.com/DarrylNixon/drawbridge
synced 2024-04-22 12:17:07 -07:00
51 lines
1.3 KiB
Markdown
51 lines
1.3 KiB
Markdown
<div align="center">
|
|
<img src="drawbridge.png" alt="drawbridge Logo">
|
|
|
|
# drawbridge
|
|
|
|
**drawbridge** simplifies local nfqueue queues
|
|
|
|
without sacrificing performance?<br/>
|
|
|
|
[Installation](#installation) •
|
|
[Examples](#examples) •
|
|
[Contributing](#contributing) •
|
|
[License](#license)
|
|
</div>
|
|
|
|
## 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.
|
|
|
|
```python
|
|
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.
|