loosky / secure-ad-hoc-network Goto Github PK
View Code? Open in Web Editor NEWSecure Ad Hoc Network using B.A.T.M.A.N. v 0.3.2 (GPLv2)
Secure Ad Hoc Network using B.A.T.M.A.N. v 0.3.2 (GPLv2)
***AN UPDATED VERSION FOR THE SECURE VERSION OF BATMAN WILL BE COMMITED SOON*** Code snippet for dumping memory: void dump_memory(void* data, size_t len) { size_t i; printf("Data in [%p..%p): ",data,data+len); for (i=0;i<len;i++) printf("%02X ", ((unsigned char*)data)[i] ); printf("\n"); } dump_memory(&recvBuf, 4); dump_memory(tmpPtr, 4); Getting started with the batman daemon ====================================== Make sure you have no firewall running that is blocking UDP port 4305 (originator messages), port 4306 (gateway traffic). Port 4307 has to be open for incoming UDP traffic if you run the B.A.T.M.A.N. visualization server. First the network interfaces supposed to participate in the batman mesh must be configured properly. You either run it on top of any "normal" network interface (WiFi, Ethernet, etc) or on an alias interface. In normal scenarios the alias interface is not needed unless you want to test / verify / benchmark B.A.T.M.A.N. Alias interface example: Assuming you have an already configured interface eth1 with the IP address of 104.1.12.123/8 and want to run batman in parallel on the same physical interface but with a 105.1.12.123/8 IP/netmask. $ ifconfig eth1:bat 105.1.12.123 netmask 255.0.0.0 broadcast 105.255.255.255 $ batmand -d 3 eth1:bat This will configure an alias interface on top of eth1 named eth1:bat and start the batman daemon with debug level 3 on that alias interface. As soon as another running batmand (with the same netmask and broadcast address) is connected to that link (or within the range of the wireless link) both batman daemons should see each other and indicate this in the debug output. The daemon started with debug level 3 can be terminated with ctrl-c. If no debuglevel is given at startup, using $ batmand eth1:bat the daemon will immediateley fork to the background (as is the usual behavior of a daemon). However you can always connect to the main daemon (running in background) by launching a client-batmand process with the -c and -d <number> option, where the number represents the desired debug-level. The following command will connect to a running batmand process providing debug-level 1 informations. $ batmand -c -d 1 # shows a list of other nodes in the mesh $ batmand -c -d 2 # shows a list of nodes offering internet GW access $ route -n # shows your current routing table as modified by batmand For a full list of supported debug-levels and other startup options see $ batmand -h # providing a brief summary of options and $ batmand -H # for a more detailed list of options Use ctrl-c to terminate a process running in foreground and $ killall batmand to terminate the main batmand daemon running in background. If you want to use one of the batman-internet gateways showed with debug-level 2 launch the main batmand using: $ batmand -r 3 eth1:bat # to automatically select a reasonable GW $ batmand -r 3 -p <ip-of-batmand-gw-node> eth1:bat # to set a preferred GW In case of success this will setup a tunnel to a (preferred) batman-gw-node and configure the routing table that all packets matching the default route are forwarded (tunneled) respectively. More information is available using the -h and -H options and in the manpage. Happy routing! The B.A.T.M.A.N. contributors
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.