ipsec open source for linux - linux

What are the open source available for ipsec in linux today.
I came across 1 (strongswan), but I am very new to this. Please suggest me which is the best available one and scalable.

if you look into kernel, you may find it.
For example, there is a ipsec.h under
/include/uapi/linux/
I am not an expert of kernel. Just a clue

I think the document of strongswan is a good start point to understand IPSec. but the source code of strongswan is not friendly enough for learning IPsec implementation.
I would recommend you start from the source code of ip, part of iproute2 utility of GNU tools.

Related

Has there been a security patch in Micropython for the KRACK bug in the WPA2 handshake?

I assume that connecting a ESP8226 chip without a patch could make the entire network vulnerable? Extremely unlikely someone is going to go through the mess to get in that way yes, but it would be good to know anyway. Thanks!
Yes, the official SDK has been patched:
http://espressif.com/en/media_overview/news/espressif-releases-patches-wifi-vulnerabilities-cert-vu228519

zeroconf implementation on an embedded linux system

I have an embeeded system that I like to add zeroconf to it. The aim is:
Auto assign an IP to itself if there is no dhcp available.
It respond to mdns request and identify itself correctly.
It responds to dns-ds and broadcast its capability correctly.
Is there any library that can help me on this?
I found Avahi (http://avahi.org/) but it seems there is no development on it for some years. Is it still a good solution?
My device has Linux 2.x on it.
Avahi seems to be the de-facto standard implementation of Zeroconf for Linux and it is used pretty much everywhere. The last release is from 2012 but this does not mean it is dead -- it may just mean that it is mature and stable enough and there has been no need for additional releases yet.

Tweaking linux kernel

I am new to linux programming & interested to tweak linux kernel(though I am not sure, what to tweak, I am planning to write drivers for particular device). To learn internal of kernel, I have started from historic kernel release (first release).
My problem is, how to test whatever changes I am doing for development, without disturbing my current os environment.(ubuntu 12, 64 bit). Is there any way like virtual box, sandbox?
Along with these, if anybody send some good approaches to learn these things, I would be really greatful.
Thank You.
If you're new to linux programming then you really don't want to be tweaking the kernel. You really want to be an advanced programmer capable of programming drivers and complex software first.
But yes there is, you can can create a virtual machine using openbox or vmware. If you're really keen on tweaking the kernel you probably want to first just try compiling and configuring the kernel and seeing if that works.
Also make sure you're well acquainted with how the kernel works and advanced OS designs in general.
Search in google fr "Kernel configuration" you u will get many links how to configure your own kernel.
And one more thing do not use a outdated version of kernel ,always use latest stable release , because a lot of code and API is changed in new versions and no book in market is updated so ,, u have to read from kernel documentation. Thats the best way to learn the most updated information about linux kernel
Yes, you can test your changes on any of the commonly available virtual machines (VMs); that way, whatever changes you make to the VM kernel won't affect native OS.
Personally, I prefer using CentOS 64 bit on VMWare Player. With this setup, I got away with minimal system maintenance while was able to focus on the actual job at hand. Once the VM is up & running, you can download and compile one of the latest stable releases from kernel.org. Instructions on compiling your downloaded version of kernel could be found here and here; however, this may require little tweaking based on your actual setup. Once the VM is running on your desired version of kernel, using a combination of cscope and ctags will help you immensely in kernel code browsing.
Finally, if you want to become a serious kernel programmer and write your own device drivers, you need to get familiar with it in the first place. Below are a few excellent references -
Linux Device Driver by Corbet, Rubini, Kroah-Hartman, 3rd edition
Linux Kernel Development by Robert Love, 3rd edition
Understanding the Linux Kernel by Bovet, Cesati
Linux kernel source (ideally placed into your /usr/src/$(DESIRED_KERNEL) path, symlinked to /usr/src/linux)
Going through these books is a tedious job and chances are that you may hit the roadblock from time to time. kernelnewbies mailing list and StackOverflow are some of the few reliable places where people would be happy to answer to your queries.
Good luck!

Building Vpn - How and where to start

I want to code a simpe vpn as a part of my course work. I am looking for ways to start. Will be helpful if you guys could help me with resources
As a basic starting point, you need to be able to write a client/server setup in your language of choice that will transport over IP. Your VPN must also be able to present the operating system with a network interface. If you are using Linux, I suggest the tun/tap system interface. For reference, you could look at the code in qemu which does make use of those OS calls. For the encryption purposes, the OpenSSL library should be able to provide you with all the calls necessary.
I'm not sure what the ultimate requirements of your coursework are. You can build anything from a basic shared-symmetric key setup that can be quickly hacked up to the bottomless pit of trying to build a production worthy VPN system. You should mention your requirements.

Simulation tool for Bluetooth

Can any body suggest me the best simulation tool now a days for Bluetooth Networks. in order to test various algorithoms about Routing and Roaming issue.
There are two that I know of: NS-2 (with the UCBT: Bluetooth Extension) and QualNet. Of those, NS2 is probably the most used.
There is ns3 those ns2 is still the most widely used simulator. The network simulation 2 and 3 are opensource projects with lots of implementations and protocol models already available to you. In such case all you need to do is, write the code of your network setup on a tcl file and execute. Voila, you have ur output on the trace file.
Qualnet is propitiatory and very expensive to license, but is definitely more easy to use. Also the support you get from their team is great.
So if you have the dough to get qualnet, I would recommend that else opensource projects rule... :)
Is it possible in Matlab to do simulation for Bluetooth algorithoms

Resources