parc-ccnx-archive / ccnxwireshark Goto Github PK
View Code? Open in Web Editor NEWThe CCNx Wireshark Plugin
The CCNx Wireshark Plugin
Wireshark plugin for CCNx 1.0 QUICK START =================== NOTE: Although the plugin should build and work on Mac OSX, these instructions have only been tested on Ubuntu 14.04 LTS. Get the source to the CCNx 1.0 Wireshark plugin: > git clone https://github.com/PARC/ccnxWireshark Now you are ready to make > cd ccnxWireshark > make dependencies On Ubuntu 14.04, this will walk you through installing the required dependencies. > make plugin This will download wireshark, patch it for our new CCNx module, and compile the whole thing. It will take a while. To test that it works: > ./wireshark/tshark -r tcp_ccnxtlv-test.pcap -V Or > ./wireshark/wireshark-qt -r tcp_ccnxtlv-test.pcap Note that the plugin can also be placed in $HOME/.wireshark/plugins where it will be loaded by compatible versions of wireshark you may already have installed. You should see "CCNx 1.0" sections, like this: CCNx 1.0 TLV, Version 1 Fixed Header V1 Version: 1 Packet Type: Interest (0) Packet Length: 49 Hop Limit: 255 Headers Length: 8 Optional Headers V1, Length 0 CCNx Message, Length 37 MessageType: Interest (1) Name: lci:/0x1=ccnx/0x1=tutorial/0x1=list/0x10=00 Note that the plugin can also be placed in $HOME/.wireshark/plugins where it will be loaded by compatible versions of wireshark you may already have installed. To build the Gtk GUI version of wireshark: > make Gtk This will download wireshark, and compile the whole thing including the Gtk GUI. This will produce the version of wireshark with the most feature-rich GUI. If you've already built the plugin, it will be incorporated into the binary. > make user This enables the user to run wireshark with raw I/O, allowing access to ethernet packets. BINARY RELEASE =================== The distribution comes with these pre-built binary plugins: - ccnxtlv-1.12.5-ubuntu-14_04.so Linux Ubuntu 14.04 for wireshark 1.12.x. - ccnxtlv-1_10_8-macosx_10_9_5.so Mac OS X 10.9.5 for wireshark 1.10.x. - ccnxtlv-1_10_8-ubuntu_14_04.so Linux Ubuntu 14.04 for wireshark 1.10 (works with 1.6 too) You should put the plugin in to $HOME/.wireshark/plugins. After you do "make plugin", you will find the plugin in src/.libs/ccnxtlv.so. Wireshark uses libtool (for cross platform support), so the actual platform shared object is hidden away in the .libs folder. DIRECTORIES =================== plugin_source/ is the plugin source code. It will be COPIED to wireshark/plugins/ccnxtlv. This directory is under revision control in git. src/ This is a softlink to wireshark/plugins/ccnxtlv. It is a convenience to edit files there if needed, but otherwise plays no role in the build. Remember that files in src/ and wireshark/plugsins/ccnxtlv/ ARE NOT IN GIT. If you edit files there, you will likely want to copy them back up to plugin_source. testdata/ is a generated directory by using "make testdata". Files prefixed by tcp_* are CCNx 1.0 packets with a TCP/IP encapsulation. Those prefixed by ether_* are an Ethernet capsulation with EtherType 0x0801. wireshark/ is a convenience link to the actual wireshark version (e.g. 1.10.8 or 1.11.3). It is created by the build (make wireshark). wireshark-$(VERSION)/ is created by setting VERSION in the Makefile. Using "make wireshark" or "make config" or "make all" will download the tarball from wireshark.org, unzip it, patch it, and setup the link. TODO =================== - Chain to the x509 dissector for the Certificate or PublicKey - Interest and Content Object fragment headers not dissected - Signature Block does not go down to the SignatureBits level, so the displayed buffer is not actually the signature, it has a 4-byte header on it still - Does not dissect CPI control packets DEVELOPMENT =================== - You want to edit the files in plugin_source, not src/. src/ is a symlink to the wireshark code tree, those files are not part of git. So, typically you'd do something like this: > # edit files in plugin_source > rsync plugin_source/* src/ > make -C wireshark - If you modify Makefile.common (i.e you add or remove source files), you need to do an "autoreconf" in the wireshark directory, then copy src/Makefile.in to plugin_source/Makefile.in.
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.