Content-injection, as used in this article, means the inserting of HTML content into web pages going through a router. The idea is not new, and can be done in a variety of ways. Indeed, you might recall that years ago I did something similar using transproxy and privoxy, which I called the coova captive frame. With developments in CoovaChilli and the interest in ad-paid WiFi, it's time to review the feature once again, this time natively in CoovaChilli.
With CoovaChilli managing the traffic of multiple access points, it can now be configured to utilize the MAC Authentication features found in some WLAN products to learn the access point location of a subscriber device. To demonstrate the use of this feature, hear is an example using both the Cisco Aironet and the Alcatel-Lucent/Aruba OmniAccess switch.
On a recent project, we had the benefit of working with Ruckus Wireless access points in building captive portal and secure wireless networks. To illustrate how to use such hardware with CoovaChilli, consider the following example where we are using the Ruckus ZoneFlex 2925 and a simple Ubuntu PC running the CoovaChilli open-source access controller.
In the forum and elsewhere, we have seen people asking for CoovaChilli for their Ubiquiti routers. Of course, one easy way to use CoovaChilli is to be using the open-mesh / ROBIN firmware. Another way is to build CoovaChilli right into the Ubiquiti firmware using the Ubiquiti AirOS SDK.
In DHCP Discovery, we explored the DHCP protocol and the kind of information the client device reveals about itself. DHCP fingerprinting is taking that information in order to classify the operating system and/or vendor of the device. The technique is finding it's way into commercial applications, CoovaRADIUS included, but, it's easy to do yourself too; here's how.
The Neo Freerunner from Openmoko is addictive. I would call it a "phone," but I haven't really used that feature much yet. It's simply a nice, very nice, pocket sized Linux system with touch-screen, GPRS, GPS, and, of course, Wi-Fi. My Freerunner came with Google Android on it, but I wanted to start out with Openmoko's own firmware. With the latest version of their software, I found most features of the phone operational, complete with a nice soft keyboard. It is also very easy to build applications for the phone, using standard GNU tools and GUI building in X/GTK.
There is a standard known to some as WISPr XML - which provides a convenient way for non-browser based authentication on captive portal networks. The technique is used by a variety of smart-client and access controller vendors. Chilli, as an access controller, has long had support for WISPr; initially funded by WeRoam in the original ChilliSpot. Support for WISPr continues in CoovaChilli, and here is how to use it.
My last post was geared toward attracting the network administrators of communities, schools, or companies to come and roam with CoovaAAA. It would be awesome, for instance, if CoovaAAA users could selectively share their networks with the FON community, their classmates at school, or colleagues at work. However, not all of these organizations use RADIUS and those who do are often unwilling to change their setup without strong financial incentives or demands from their users.
You may recall a demo I linked to a few months ago in a past article. It is a Google Web Toolkit (GWT) based application - which means it is completely HTML, JavaScript, and CSS based on the front-end - for managing configurations on a CoovaAP device. Using JSON and RPC style callbacks, the application fetches the router configuration and the user interface screens to edit it.