Passive data collection tools have traditionally been designed for specific tasks such as accounting (NeTraMet) or packet capture (tcpdump). The CoralReef suite (http://www.caida.org/tools/measurement/coralreef/) was designed to provide a uniform interface to passive data for a wide range of applications: from raw capture to real-time report generation. CoralReef provides convenient set of passive data tools for a diverse audience, from network administrators to researchers.
The CoralReef architecture is based on a toolbox paradigm. The base programming interface is implemented in a C library named libcoral. In order to allow users to write a single program to access many data sources, libcoral provides a consistent API for capture cards from multiple providers on ATM, POS, and 10-100-1000 ethernet capture cards from multiple vendors, as well as pcap interfaces. In addition, libcoral provides a consistent interface to many packet capture file formats including: all coral formats (NLANR formats included), pcap, DAG ATM, and DAG POS. This API satisfies an important design goal of providing multiple ways to approach the same problem. The libcoral API can operate on ATM cells, blocks of cells, or network packets, one at a time or via callbacks; the application developer can use whichever is most convenient. NeTraMet and Vern Paxson's Bro are two applications that have been adapted to use the Coral API. To facilitate rapid prototyping and development, another design goal is to provide the same interface in C/C++ and Perl. Because the Perl module CRL.pm directly calls the C routines, Perl scripts using CRL.pm perform well enough for many data analysis applications. Additional libraries and modules have been provided to perform more complex tasks. There are libraries and Perl modules for doing AS lookups from BGP routing tables and others for determining geographic locations via NetGeo. CoralReef includes modules for the storage and manipulation of frequently col
Related white papers
MSDN Webcast: Using Access 2003 and .NET Together - Level 200
Although Microsoft® Access and .NET "live" in parallel worlds--you can certainly use them together to create rich applications. In this Webcast, you'll learn how to call a .NET component from...
A Case Study on Selecting AIDC Technologies by the U.S. Postal Service
ICF Consulting has helped the Postal Service evaluate and select the most appropriate AIDC technology for tagging and tracking handling units and containers. ICF Consulting recommended a strategy that in...
CTG Develops a Shop Floor ‘Thin Client’ Browser-Based HMI
A world leader in the technology, production, and marketing of stainless steel and other advanced alloys needed to capture data from a legacy process control system and make it accessible...
Real-Time Customer Insight: uCommerce Technologies Provide New Insights Into Your Customers and the Products They Buy
For years, retailers have struggled in their attempts to better understand their customers. But it often seems that there's either not enough or too much information available to make optimal...
Data Mining Primer for the Data Warehouse Professional
Very little has been written to explain the challenges facing IT organizations as they try to make data mining a part of their business intelligence operations. This paper explores data...
Database Management In Real-time and Embedded Systems
If you develop real-time and embedded systems, chances are you’ve never considered using a commercial DBMS in your applications. Aren’t most databases slow and bulky, requiring an interface like SQL...
Design Layer Architecture Using the AllFusion ERwin Data Modeler
Explore how the AllFusion ERwin Data Modeler supports different model types used in a design layered approach. Design layers represent a phase in the model development process by which a...


