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

Reply via email to