This "port-mirroring" package can mirror traffic of adapter(s) to another adapter or to a remote computer, which is useful for a network sniffer to analysis your network.
It's been tested for a month on bcm47xx (Linksys WRT54G) and proved to be very stable and efficient. Signed-off-by: Bruce Geng <gengw2...@gmail.com> --- Index: package/network/utils/port-mirroring/Makefile =================================================================== --- package/network/utils/port-mirroring/Makefile (revision 0) +++ package/network/utils/port-mirroring/Makefile (revision 0) @@ -0,0 +1,93 @@ +############################################## +# OpenWrt Makefile for port-mirroring program +# +# +# Most of the variables used here are defined in +# the include directives below. We just need to +# specify a basic description of the package, +# where to build our program, where to find +# the source files, and where to install the +# compiled program on the router. +# +# Be very careful of spacing in this file. +# Indents should be tabs, not spaces, and +# there should be no trailing whitespace in +# lines that are not commented. +# +############################################## + +include $(TOPDIR)/rules.mk + +# Name and release number of this package +PKG_NAME:=port-mirroring +PKG_VERSION:=1.2 +PKG_RELEASE:=1 + + +# This specifies the directory where we're going to build the program. +# The root build directory, $(BUILD_DIR), is by default the build_mipsel +# directory in your OpenWrt SDK directory +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://port-mirroring.googlecode.com/files/ +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) + + +include $(INCLUDE_DIR)/package.mk + + + +# Specify package information for this program. +# The variables defined here should be self explanatory. +# If you are running Kamikaze, delete the DESCRIPTION +# variable below and uncomment the Kamikaze define +# directive for the description below +define Package/port-mirroring + SECTION:=net + CATEGORY:=Network + DEPENDS:=+libpcap +libpthread + TITLE:=port-mirroring tool + URL:=http://code.google.com/p/port-mirroring/ + MENU:=1 +endef + +# Specify where and how to install the program. Since we only have one file, +# the port-mirroring, install it by copying it to the /bin directory on +# the router. The $(1) variable represents the root directory on the router running +# OpenWrt. The $(INSTALL_DIR) variable contains a command to prepare the install +# directory if it does not already exist. Likewise $(INSTALL_BIN) contains the +# command to copy the binary file from its current location (in our case the build +# directory) to the install directory. +define Package/port-mirroring/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/port-mirroring $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) $(PKG_BUILD_DIR)/port-mirroring.conf $(1)/etc/config/port-mirroring + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) $(PKG_BUILD_DIR)/port-mirroringd $(1)/etc/init.d/port_mirroring +endef + +define Package/port-mirroring/postinst +#!/bin/sh +if [ -z "$${IPKG_INSTROOT}" ]; then + echo "Enabling rc.d symlink for port-mirroring" + /etc/init.d/port_mirroring enable +fi +exit 0 +endef + +define Package/port-mirroring/prerm +#!/bin/sh +# check if we are on real system +if [ -z "$${IPKG_INSTROOT}" ]; then + echo "Removing rc.d symlink for port-mirroring" + /etc/init.d/port_mirroring disable +fi +exit 0 +endef + +# This line executes the necessary commands to compile our program. +# The above define directives specify all the information needed, but this +# line calls BuildPackage which in turn actually uses this information to +# build a package. +$(eval $(call BuildPackage,port-mirroring)) +
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel