ntrc: Network TRace Converter

[ Welcome | Download | News | Support | Supported Formats | Unsupported Formats | Copyright ]

[SourceForge.net Logo]     Welcome to the Network TRace Converter (ntrc) homepage. This page contains information for general users. For more information, development versions, CVS tarballs, bug tracking, feature requests, etc, you may want to browse our SourceForge project page. This web page and all of our project infrastructure are hosted on SourceForge. We highly appreciate their support.

What is ntrc?

A recurring problem network researchers and engineers face is the sheer number of different trace file formats available on the market. Pretty much each vendor uses its own format, making interoperability between different tools (e.g., a packet sniffer and a network simulator) very limited.

ntrc, short for Network TRace Converter is a simple console application that allows to convert to and from a variety of network packet trace formats, enhancing interoperability of the different tools used. Written entirely in C, ntrc is particularly efficient with large traces. Formats currently supported and/or planned are described in this table. ntrc can be compiled and installed under any POSIX operating system, such as FreeBSD, NetBSD, OpenBSD, Linux or Solaris, and is known to work flawlessly under Cygwin for Microsoft Windows. It also appears that only minor modifications would be required to get it to compile under MacOS X/Darwin. A little work will need to get done but we are hopeful we'll soon be able to add MacOS X/Darwin to the list of supported platforms.

Unlike its competitors, ntrc is free, and is distributed under the terms of a BSD-like license. Furthermore, ntrc aims at supporting rather obscure formats, which are typically not included in commercial conversion packages, but are yet essential for networking researchers.

[Top]

Download

No pre-release is currently available for download. Check back in a few weeks. You can browse the CVS tree to check the development status, though.

[Top]

What's new?

12/19/2002.I just started this web page, it looks very much like an "empty shell" right now, but I am in the process of moving my CVS tree to SourceForge and should release a pre-alpha (i.e., very incomplete) version for limited distribution in early 2003.
[Top]

Support

Support is available by means of the user documentation, and mailing-lists.

Documentation

Mailing-Lists

The ntrc-announce mailing list has been set up for people who are interested in receiving announcements for new ntrc releases. This list is low volume (one message every 3-6 months), posting is restricted to the administrators, and we do not sell/give away email addresses. To subscribe, please visit:

http://lists.sourceforge.net/lists/listinfo/ntrc-announce

For technical discussions and general discussions about ntrc, the ntrc-users mailing-list is the right place. This list should be much higher volume than ntrc-announce. Please note that due to the insane amount of e-mail I already receive, I will not provide any individual assistance by private communication, so new users should definitely subscribe to this mailing-list, by visiting the following link:

http://lists.sourceforge.net/lists/listinfo/ntrc-users

Note that ntrc-users is an English-speaking mailing-list. Please refrain from posting in other languages.

[Top]

Supported Formats

The following table lists the formats ntrc currently supports, as well as those in development, or planned. Clicking on a format type gives you a description of the format.

Format Typical extensions Vendor Encoder Decoder Status
FR .fr, .fr.enc, .fr.enc.gz, .fr.gz NLANR traffic traces Yes Yes Implemented and tested
ns-2 TrafficTrace None ns-2 network simulator Yes Yes Implemented and tested
Time-Sequenced Headers (TSH) .tsh, .tsh.gz NLANR traffic traces Yes Yes Implemented and tested
FR+ .fr+, .fr+.enc, .fr+.enc.gz, .fr+.gz NLANR traffic traces Yes Yes Implemented, under test
Coral/oc3mon (CRL) .crl, .crl.enc, .crl.gz, .crl.enc.gz Coral/NLANR traffic traces Yes Yes In development
Sniffer .prn (?) Network Associates Yes Planned In development
tcpdump .txt, none tcpdump.org Yes Yes Planned
Note: .gz means that the trace file is compressed with gzip. ntrc cannot directly handle gzip'd files, but it is easy to first decompress the trace before processing it with ntrc.

[Top]

Unsupported Formats

If there is a format you would like ntrc to support, you basically have two options: either you write your own code and send it to me, or you ask me to write a module for it.

Contributing code

As much as possible, your code must follow the Kernel Normal Form (KNF) coding-style, which is described in style(9) on BSD systems, and it must be readable on a 80-column terminal (that's what I use). Your code must also comply to a BSD-license, or weaker. For instance, GPL is unacceptable, because it imposes to redistribute the source code, and I do not want to put that restriction on the package. Conversely, BSD-lite, or Public Domain, or MIT licenses are perfectly acceptable. If you can meet both requirements, I am happy to work with you to include your module in the base distribution.

Getting me to code...

If you need a specific trace format to be supported, and do not have the expertise to program a module for it, just ask me if I am interested in implementing it. If the format you are asking for is general enough to be useful to a large community of users, chances are good I'll be happy to work on it for free.

If not, you can probably get me to implement it anyway, but under such circumstances, I will charge a consulting fee for the time spent in developing code for you. (My rates vary depending on the nature of the organization I am working for, and any consulting contract I can work with is governed by European and French laws.) The basic requirements are that (1) code that I develop at your request remains under a BSD-license, and that I remain one of the copyright holders (your organization can co-own the copyright, as I would be working as a contractor for your organization), and (2) you provide me with the software/hardware that I need to write a converter for the trace format you want to see supported in ntrc. If that does not sound reasonable, you are back to finding someone else who wants to write code for you.

[Top]

Copyright

© Nicolas Christin <nicolasc@sourceforge.net>, 2002.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
This product includes software developed by Nicolas Christin.

4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

[Top]


Valid HTML 4.01!
Maintained by Nicolas Christin [Webpage]

Last modified: [$Revision: 1.4 $]

SourceForge is a trademark of VA Linux, Linux is a trademark of Linus Torvalds, Solaris is a trademark of Sun Microsystems, FreeBSD is a trademark of the FreeBSD project, NetBSD is a trademark of the NetBSD Foundation, OpenBSD is a trademark of Theo de Raadt, Microsoft Windows is a trademark of Microsoft Corp., Cygwin is a trademark of Red Hat Inc., MacOS and Darwin are trademarks of Apple Computer, Inc..