Commit 3c827674 authored by Claes Sjofors's avatar Claes Sjofors

Wireshark redcom dissector added

parent 309323a4
Wireshark dissector for Proview
Wireshark dissectors for Proview
Built for Wireshark 1.6.4.
This directory contains files to build a wireshark dissector for QCom, and this
is a description of how to build the dissector.
This directory contains the subdirectories qcom and redcom that contains files to build
the wireshark dissectors for QCom and RedCom.
Build QCom and Redcom dissectors
--------------------------------
1. Download the wireshark source code.
3. Read README.plugins and README.developer on the wireshark directory.
2. Read README.plugins and README.developer on the wireshark directory.
3. Create the directory plugin/qcom and copy the files on
$pwre_croot/src/tools/wireshark/qcom to this directory.
2. Create the directory plugin/qcom and copy the files on
$pwre_croot/src/tools/wireshark to this directory.
4. Create the directory plugin/redcom and copy the files on
$pwre_croot/src/tools/wireshark/redcom to this directory.
3. Edit these files and add qcom analog to the gryphon dissector
5. Edit these files and add qcom and redcom analog to the gryphon dissector
configure.in
CMakeLists.txt
......@@ -24,7 +30,7 @@ is a description of how to build the dissector.
plugins/Makefile.am
plugins/Makefile.nmake
4. Build wireshark
6. Build wireshark
Install autoconf, libtool, bison, libpcap-dev
......@@ -32,18 +38,18 @@ is a description of how to build the dissector.
> ./configure
> make all
5. Setup a working root to build and intstall wireshark there.
7. Setup a working root to build and intstall wireshark there.
> mkdir -p /data0/wireshark/bld
> ./configure --prefix=/data0/wireshark/bld;make install
6. To install changes in the qcom plugin, go to the plugin/qcom directory
8. To install changes in the qcom plugin, go to the plugin/qcom directory
and execute 'make install'
> make all
> make install
7. To run wireshark, define PWR_BUS_ID, go to the bin directory in the build
9. To run wireshark, define PWR_BUS_ID, go to the bin directory in the build
tree, and define WIRESHARK_RUN_FROM_BUILD_DIRECTORY
> cd /data0/wireshark/bld/bin
......@@ -57,7 +63,7 @@ is a description of how to build the dissector.
Specify filter 'qcom' and start capturing.
8. Build debian package.
10. Build debian package.
Install dependencies, for example
......
Author :
Claes Sjöfors <claes.sjofors@proview.se>
# CMakeLists.txt
#
# $Id: CMakeLists.txt 34243 2010-09-24 20:41:34Z guy $
#
# Wireshark - Network traffic analyzer
# By Gerald Combs <gerald@wireshark.org>
# Copyright 1998 Gerald Combs
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
set(DISSECTOR_SRC
packet-redcom.c
)
set(PLUGIN_FILES
plugin.c
${DISSECTOR_SRC}
)
set(CLEAN_FILES
${PLUGIN_FILES}
)
if (WERROR)
set_source_files_properties(
${CLEAN_FILES}
PROPERTIES
COMPILE_FLAGS -Werror
)
endif()
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
register_dissector_files(plugin.c
plugin
${DISSECTOR_SRC}
)
add_library(redcom ${LINK_MODE_MODULE}
${PLUGIN_FILES}
)
set_target_properties(redcom PROPERTIES PREFIX "")
set_target_properties(redcom PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}")
target_link_libraries(redcom epan)
install(TARGETS redcom
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/@CPACK_PACKAGE_NAME@/plugins/${CPACK_PACKAGE_VERSION} NAMELINK_SKIP
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/@CPACK_PACKAGE_NAME@/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/@CPACK_PACKAGE_NAME@/plugins/${CPACK_PACKAGE_VERSION}
)
This diff is collapsed.
$Id$
Overview of changes in Redcom plugin:
Version 0.0.0:
* initial implementation
This diff is collapsed.
# Makefile.am
# Automake file for Redcom plugin
# By Steve Limkemann <stevelim@dgtech.com>
# Copyright 1998 Steve Limkemann
#
# $Id: Makefile.am 32808 2010-05-14 16:48:17Z jake $
#
# Wireshark - Network traffic analyzer
# By Gerald Combs <gerald@wireshark.org>
# Copyright 1998 Gerald Combs
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
INCLUDES = -I$(top_srcdir) -I$(includedir)
include Makefile.common
if HAVE_WARNINGS_AS_ERRORS
AM_CFLAGS = -Werror
endif
plugindir = @plugindir@
plugin_LTLIBRARIES = redcom.la
redcom_la_SOURCES = \
plugin.c \
moduleinfo.h \
$(DISSECTOR_SRC) \
$(DISSECTOR_SUPPORT_SRC) \
$(DISSECTOR_INCLUDES)
redcom_la_LDFLAGS = -module -avoid-version
redcom_la_LIBADD = @PLUGIN_LIBS@
# Libs must be cleared, or else libtool won't create a shared module.
# If your module needs to be linked against any particular libraries,
# add them here.
LIBS =
#
# Build plugin.c, which contains the plugin version[] string, a
# function plugin_register() that calls the register routines for all
# protocols, and a function plugin_reg_handoff() that calls the handoff
# registration routines for all protocols.
#
# We do this by scanning sources. If that turns out to be too slow,
# maybe we could just require every .o file to have an register routine
# of a given name (packet-aarp.o -> proto_register_aarp, etc.).
#
# Formatting conventions: The name of the proto_register_* routines an
# proto_reg_handoff_* routines must start in column zero, or must be
# preceded only by "void " starting in column zero, and must not be
# inside #if.
#
# DISSECTOR_SRC is assumed to have all the files that need to be scanned.
#
# For some unknown reason, having a big "for" loop in the Makefile
# to scan all the files doesn't work with some "make"s; they seem to
# pass only the first few names in the list to the shell, for some
# reason.
#
# Therefore, we have a script to generate the plugin.c file.
# The shell script runs slowly, as multiple greps and seds are run
# for each input file; this is especially slow on Windows. Therefore,
# if Python is present (as indicated by PYTHON being defined), we run
# a faster Python script to do that work instead.
#
# The first argument is the directory in which the source files live.
# The second argument is "plugin", to indicate that we should build
# a plugin.c file for a plugin.
# All subsequent arguments are the files to scan.
#
plugin.c: $(DISSECTOR_SRC) $(top_srcdir)/tools/make-dissector-reg \
$(top_srcdir)/tools/make-dissector-reg.py
@if test -n "$(PYTHON)"; then \
echo Making plugin.c with python ; \
$(PYTHON) $(top_srcdir)/tools/make-dissector-reg.py $(srcdir) \
plugin $(DISSECTOR_SRC) ; \
else \
echo Making plugin.c with shell script ; \
$(top_srcdir)/tools/make-dissector-reg $(srcdir) \
$(plugin_src) plugin $(DISSECTOR_SRC) ; \
fi
#
# Currently plugin.c can be included in the distribution because
# we always build all protocol dissectors. We used to have to check
# whether or not to build the snmp dissector. If we again need to
# variably build something, making plugin.c non-portable, uncomment
# the dist-hook line below.
#
# Oh, yuk. We don't want to include "plugin.c" in the distribution, as
# its contents depend on the configuration, and therefore we want it
# to be built when the first "make" is done; however, Automake insists
# on putting *all* source into the distribution.
#
# We work around this by having a "dist-hook" rule that deletes
# "plugin.c", so that "dist" won't pick it up.
#
#dist-hook:
# @rm -f $(distdir)/plugin.c
CLEANFILES = \
redcom \
*~
MAINTAINERCLEANFILES = \
Makefile.in \
plugin.c
EXTRA_DIST = \
Makefile.common \
Makefile.nmake \
moduleinfo.nmake \
plugin.rc.in \
CMakeLists.txt
checkapi:
$(PERL) $(top_srcdir)/tools/checkAPIs.pl -g abort -g termoutput $(DISSECTOR_SRC) $(DISSECTOR_INCLUDES)
# Makefile.common for Redcom plugin
# Contains the stuff from Makefile.am and Makefile.nmake that is
# a) common to both files and
# b) portable between both files
#
# $Id: Makefile.common 27491 2009-02-21 16:33:48Z jake $
#
# Wireshark - Network traffic analyzer
# By Gerald Combs <gerald@wireshark.org>
# Copyright 1998 Gerald Combs
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# the name of the plugin
PLUGIN_NAME = redcom
# the dissector sources (without any helpers)
DISSECTOR_SRC = \
packet-redcom.c
# corresponding headers
DISSECTOR_INCLUDES = \
packet-redcom.h
# Dissector helpers. They're included in the source files in this
# directory, but they're not dissectors themselves, i.e. they're not
# used to generate "plugin.c".
DISSECTOR_SUPPORT_SRC =
This diff is collapsed.
# Makefile.nmake
# nmake file for Wireshark plugin
#
# $Id: Makefile.nmake 35747 2011-02-02 01:19:53Z wmeier $
#
include ..\..\config.nmake
include moduleinfo.nmake
include Makefile.common
CFLAGS=$(WARNINGS_ARE_ERRORS) $(STANDARD_CFLAGS) \
/I../.. $(GLIB_CFLAGS) \
/I$(PCAP_DIR)\include
.c.obj::
$(CC) $(CFLAGS) -Fd.\ -c $<
LDFLAGS = $(PLUGIN_LDFLAGS)
!IFDEF ENABLE_LIBWIRESHARK
LINK_PLUGIN_WITH=..\..\epan\libwireshark.lib
CFLAGS=/D_NEED_VAR_IMPORT_ $(CFLAGS)
DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
DISSECTOR_SUPPORT_OBJECTS = $(DISSECTOR_SUPPORT_SRC:.c=.obj)
OBJECTS = $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) plugin.obj
RESOURCE=$(PLUGIN_NAME).res
all: $(PLUGIN_NAME).dll
$(PLUGIN_NAME).rc : moduleinfo.nmake
sed -e s/@PLUGIN_NAME@/$(PLUGIN_NAME)/ \
-e s/@RC_MODULE_VERSION@/$(RC_MODULE_VERSION)/ \
-e s/@RC_VERSION@/$(RC_VERSION)/ \
-e s/@MODULE_VERSION@/$(MODULE_VERSION)/ \
-e s/@PACKAGE@/$(PACKAGE)/ \
-e s/@VERSION@/$(VERSION)/ \
-e s/@MSVC_VARIANT@/$(MSVC_VARIANT)/ \
< plugin.rc.in > $@
$(PLUGIN_NAME).dll $(PLUGIN_NAME).exp $(PLUGIN_NAME).lib : $(OBJECTS) $(LINK_PLUGIN_WITH) $(RESOURCE)
link -dll /out:$(PLUGIN_NAME).dll $(LDFLAGS) $(OBJECTS) $(LINK_PLUGIN_WITH) \
$(GLIB_LIBS) $(RESOURCE)
#
# Build plugin.c, which contains the plugin version[] string, a
# function plugin_register() that calls the register routines for all
# protocols, and a function plugin_reg_handoff() that calls the handoff
# registration routines for all protocols.
#
# We do this by scanning sources. If that turns out to be too slow,
# maybe we could just require every .o file to have an register routine
# of a given name (packet-aarp.o -> proto_register_aarp, etc.).
#
# Formatting conventions: The name of the proto_register_* routines an
# proto_reg_handoff_* routines must start in column zero, or must be
# preceded only by "void " starting in column zero, and must not be
# inside #if.
#
# DISSECTOR_SRC is assumed to have all the files that need to be scanned.
#
# For some unknown reason, having a big "for" loop in the Makefile
# to scan all the files doesn't work with some "make"s; they seem to
# pass only the first few names in the list to the shell, for some
# reason.
#
# Therefore, we have a script to generate the plugin.c file.
# The shell script runs slowly, as multiple greps and seds are run
# for each input file; this is especially slow on Windows. Therefore,
# if Python is present (as indicated by PYTHON being defined), we run
# a faster Python script to do that work instead.
#
# The first argument is the directory in which the source files live.
# The second argument is "plugin", to indicate that we should build
# a plugin.c file for a plugin.
# All subsequent arguments are the files to scan.
#
!IFDEF PYTHON
plugin.c: $(DISSECTOR_SRC) moduleinfo.h ../../tools/make-dissector-reg.py
@echo Making plugin.c (using python)
@$(PYTHON) "../../tools/make-dissector-reg.py" . plugin $(DISSECTOR_SRC)
!ELSE
plugin.c: $(DISSECTOR_SRC) moduleinfo.h ../../tools/make-dissector-reg
@echo Making plugin.c (using sh)
@$(SH) ../../tools/make-dissector-reg . plugin $(DISSECTOR_SRC)
!ENDIF
!ENDIF
clean:
rm -f $(OBJECTS) $(RESOURCE) plugin.c *.pdb \
$(PLUGIN_NAME).dll $(PLUGIN_NAME).dll.manifest $(PLUGIN_NAME).lib \
$(PLUGIN_NAME).exp $(PLUGIN_NAME).rc
distclean: clean
maintainer-clean: distclean
checkapi:
$(PERL) ../../tools/checkAPIs.pl -g abort -g termoutput $(DISSECTOR_SRC) $(DISSECTOR_INCLUDES)
/* Included *after* config.h, in order to re-define these macros */
#ifdef PACKAGE
#undef PACKAGE
#endif
/* Name of package */
#define PACKAGE "redcom"
#ifdef VERSION
#undef VERSION
#endif
/* Version number of package */
#define VERSION "0.0.1"
#
# $Id$
#
# The name
PACKAGE=redcom
# The version
MODULE_VERSION_MAJOR=0
MODULE_VERSION_MINOR=0
MODULE_VERSION_MICRO=4
MODULE_VERSION_EXTRA=0
#
# The RC_VERSION should be comma-separated, not dot-separated,
# as per Graham Bloice's message in
#
# http://www.ethereal.com/lists/ethereal-dev/200303/msg00283.html
#
# "The RC_VERSION variable in config.nmake should be comma separated.
# This allows the resources to be built correctly and the version
# number to be correctly displayed in the explorer properties dialog
# for the executables, and XP's tooltip, rather than 0.0.0.0."
#
MODULE_VERSION=$(MODULE_VERSION_MAJOR).$(MODULE_VERSION_MINOR).$(MODULE_VERSION_MICRO).$(MODULE_VERSION_EXTRA)
RC_MODULE_VERSION=$(MODULE_VERSION_MAJOR),$(MODULE_VERSION_MINOR),$(MODULE_VERSION_MICRO),$(MODULE_VERSION_EXTRA)
This diff is collapsed.
void dissect_redcom(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
/*
* Do not modify this file.
*
* It is created automatically by Makefile or Makefile.nmake.
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <gmodule.h>
#include "moduleinfo.h"
#ifndef ENABLE_STATIC
G_MODULE_EXPORT const gchar version[] = VERSION;
/* Start the functions we need for the plugin stuff */
G_MODULE_EXPORT void
plugin_register (void)
{
{extern void proto_register_handoff_redcom (void); proto_register_handoff_redcom ();}
{extern void proto_register_redcom (void); proto_register_redcom ();}
}
G_MODULE_EXPORT void
plugin_reg_handoff(void)
{
}
#endif
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
FILEVERSION @RC_MODULE_VERSION@
PRODUCTVERSION @RC_VERSION@
FILEFLAGSMASK 0x0L
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
#else
FILEFLAGS 0
#endif
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_DLL
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "The Wireshark developer community, http://www.wireshark.org/\0"
VALUE "FileDescription", "@PACKAGE@ dissector\0"
VALUE "FileVersion", "@MODULE_VERSION@\0"
VALUE "InternalName", "@PACKAGE@ @MODULE_VERSION@\0"
VALUE "LegalCopyright", "Copyright 1998 Gerald Combs <gerald@wireshark.org>, Gilbert Ramirez <gram@alumni.rice.edu> and others\0"
VALUE "OriginalFilename", "@PLUGIN_NAME@.dll\0"
VALUE "ProductName", "Wireshark\0"
VALUE "ProductVersion", "@VERSION@\0"
VALUE "Comments", "Build with @MSVC_VARIANT@\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
/* From rt_redcom.c */
typedef enum {
eAction__ = 0,
eAction_export,
eAction_import,
eAction_tmo,
eAction_
} eAction;
typedef enum {
eEvent__ = 0 ,
eEvent_connect,
eEvent_down,
eEvent_user,
eEvent_ack,
eEvent_set_active,
eEvent_set_passive,
eEvent_set_off,
eEvent_
} eEvent;
#define pwr_Bit(b) (1<<b)
#define mSeg__ 0
#define mSeg_first pwr_Bit(3)
#define mSeg_middle pwr_Bit(4)
#define mSeg_last pwr_Bit(5)
#define mSeg_single (mSeg_first|mSeg_middle|mSeg_last)
#define mSeg_sequence (mSeg_first|mSeg_middle|mSeg_last)
#define mSeg_bcast pwr_Bit(8)
/* From rt_qcom.h */
#define qcom_cIloopBack (1<<31 | 0)
#define qcom_cInetEvent (1<<31 | 100)
#define qcom_cIapplEvent (1<<31 | 101)
#define qcom_cImhAllHandlers (1<<31 | 102)
#define qcom_cImhAllOutunits (1<<31 | 103)
#define qcom_cIhdServer (1<<31 | 104)
#define qcom_cIhdClient (1<<31 | 105)
#define qcom_cInacp (1<<31 | 106)
#define qcom_cIini (1<<31 | 107)
typedef enum {
qcom_eBtype__ = 0,
qcom_eBtype_system,
qcom_eBtype_qcom,
qcom_eBtype_event,
qcom_eBtype_ = 200
} qcom_eBtype;
typedef enum {
qcom_eStype__ = 0,
qcom_eStype_linkConnect,
qcom_eStype_linkDisconnect,
qcom_eStype_linkActive,
qcom_eStype_linkStalled,
qcom_eStype_applConnect,
qcom_eStype_applDisconnect,
qcom_eStype_ = 32
} qcom_eStype;
/* From rt_redu.h */
#define redu_cPort 56001
#define redu_cQixExport ((1<<31) | 4)
#define redu_cQixPrio1 ((1<<31) | 5)
#define redu_cQixPrio2 ((1<<31) | 6)
#define redu_cQixPrio3 ((1<<31) | 7)
#define redu_cQixPrio4 ((1<<31) | 8)
#define redu_cQixPrio5 ((1<<31) | 9)
#define redu_cQixPrio6 ((1<<31) | 10)
#define redu_cQixPrio7 ((1<<31) | 11)
#define redu_cQixPrio8 ((1<<31) | 12)
#define redu_cQixPrio9 ((1<<31) | 13)
#define redu_cQixPrio10 ((1<<31) | 14)
typedef enum {
redu_eMsgType_Table,
redu_eMsgType_Cyclic,
redu_eMsgType_TableRequest
} redu_eMsgType;
typedef enum {
redu_ePrio_0 = 0,
redu_ePrio_1 = 1,
redu_ePrio_2 = 2,
redu_ePrio_3 = 3,
redu_ePrio_4 = 4,
redu_ePrio_5 = 5,
redu_ePrio_6 = 6,
redu_ePrio_7 = 7,
redu_ePrio_8 = 8,
redu_ePrio_9 = 9,
redu_ePrio_10 = 10,
redu_ePrio__ = 11,
} redu_ePrio;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment