mothran / bunny Goto Github PK
View Code? Open in Web Editor NEWBunny is a wireless. meshing, darknet that uses 802.11 to hide its communications
Bunny is a wireless. meshing, darknet that uses 802.11 to hide its communications
Currently if NetworkManager is present, Bunny will be interrupted and the interface will usually be brought back to managed mode from monitor. This can be solved currently by adding the following line to /etc/NetworkManager/NetworkManager.conf:
[keyfile]
unmanaged-devices=mac:<MAC_ADDRESS_HERE>
I have tried looking at nmcli and the dbus interface and there does not appear to currently be a way to force NetworkManager to set a device as unmanaged dynamically. There appears to be an open ticket for this functionality here: https://bugzilla.gnome.org/show_bug.cgi?id=680909
The Sequence number derived from the example packet never changes and could easily be used to ID a bunny packet.
Bunny uses static symmetric keys. These keys found in keys.kz are known by an attacker, so they could easily write a program to decrypt traffic sent by bunny. Solutions include PKI, pre-shared keys, passwords, and so forth. All of these have their own difficulties. Secure crypto is difficult.
Bunny needs to update its timestamp for all beacon frames to increase its conformity to the 802.11 spec.
Hello,
I'm curious to know how many packets per second you can rx/tx effectively. I use/would use scapy for a project like this. Would be interesting to collaborate with you on it.
So I found another one while running the chat client, just pops up at random intervals. Afterwards the machine is able to transmit but not receive. Am only able to replicate this error on kali linux, ubuntu seems to be fine.
Exception in thread BunnyReadThread:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
self.run()
File "/root/bunnymk4/bunny/libbunny/bunny.py", line 203, in run
temp = type[2].decode(encoded)
File "/root/bunnymk4/bunny/libbunny/Templates.py", line 262, in decode
size, = struct.unpack("B", input[26:27])
error: unpack requires a string argument of length 1
Looked at the code but having trouble to grasp whats going on.
The last update fixed the chat client but it did something to the ping pong. Pings are sent and received, pong is sent but not received and when it tries to print the summary eg. packets loss etc. it trows and exception when trying to calculate the transfer time.
root@bt:~/bunnymk2/bunny# python bunnyChat.py -p
ping timeout
ping timeout
ping timeout
ping timeout
ping timeout
ping timeout
ping timeout
ping timeout
ping timeout
ping timeout
received: 0 packets
Percent recv'd: 0.000000%
Traceback (most recent call last):
File "bunnyChat.py", line 246, in
main()
File "bunnyChat.py", line 192, in main
print "Mean time: %f" % (avg_time / count)
ZeroDivisionError: integer division or modulo by zero
Quick fix:
in bunnyChat.py line 192, change:
print "Mean time: %f" % (avg_time / count)
into:
if count > 0:
print "Mean time: %f" % (avg_time / count)
Awesome work!!
When I run the chat client or just listen for a while it sometimes throws the following exception:
Exception in thread BunnyReadThread:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
self.run()
File "/root/bunny/libbunny/bunny.py", line 191, in run
temp = type[2].decode(encoded)
File "/root/bunny/libbunny/Templates.py", line 359, in decode
return temp_tags[0][2]
IndexError: list index out of range
For as far as Ive been able to figure out it does not affect the usage of the client.
Currently as of 935417f Bunny only has:
Beacon,
DataQOS,
ProbeRequest
Types templated out, this needs to expand to as many types as possible.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.