下载后可任意编辑深化 Linux 网络核心堆栈--netfilter 详解目录1 - 简介 1.1 - 本文涉及的内容 1.2 - 本文不涉及的内容2 - 各种 Netfilter hook 及其用法 2.1 - Linux 内核对数据包的处理 2.2 - Netfilter 对 IPv4 的 hook3 - 注册和注销 Netfilter hook4 - Netfilter 基本的数据报过滤技术[1] 4.1 - 深化 hook 函数 4.2 - 基于接口进行过滤 4.3 - 基于地址进行过滤 4.4 - 基于 TCP 端口进行过滤5 - Netfilter hook 的其它可能用法 5.1 - 隐藏后门的守护进程 5.2 - 基于内核的 FTP 密码嗅探器 5.2.1 - 源代码 : nfsniff.c 5.2.2 - 源代码 : getpass.c6 - 在 Libpcap 中隐藏网络通信 6.1 - SOCK_PACKET、SOCK_RAW 与 Libpcap 6.2 - 给狼披上羊皮7 - 结束语A - 轻量级防火墙 A.1 - 概述 A.2 - 源代码 : lwfw.c A.3 - 头文件 : lwfw.hB - 第 6 节中的源代码--[ 1 - 简介 本文将向你展示,Linux 的网络堆栈的一些怪异行为(并不一定是弱点)如何被用于邪恶的或者是其它形形色色的目的。在这里将要讨论的是将表面上看起来合法的 Netfilter hook 用于后门的通信,以及一种使特定的网络通信在运行于本机的基于 Libpcap 的嗅探器中消声匿迹的技术。 Netfilter 是 Linux 2.4 内核的一个子系统,Netfiler 使得诸如数据包过滤、网络地址转换(NAT)以及网络连接跟踪等技巧成为可能,这些功能仅通过使用内核网络代码提供的各式各样的 hook 既可以完成。这些 hook 位于内核代码中,要么是静态链接的,要么是以动态加载的模块的形式存在。可以为指定的网络事件注册相应的回调函数,数据包的接收就是这样一个例子。下载后可任意编辑----[ 1.1 - 本文涉及的内容 本文讨论模块编写者如何利用 Netfilter hook 来实现任意目的以及如何将将网络通信在基于 Libpcap 的应用程序中隐藏。虽然 Linux 2.4 支持对 IPv4、IPv6 以及 DECnet 的 hook,但在本文中将只讨论关于 IPv4 的话题,虽然如此,大部分关于 IPv4 的内容都同样可以运用于其它几种协议。出于教学的目的,附录 A 提供了一个可用的、提供基本的包过滤的内核模块。本文中所有的开发和试验都在运行于 Intel 主机上的 Linux 2.4.5 中完成。对 Netfilter hook 功能的测试在环回接口、以太网接口以及调制解调器点对点接口上完成。 本文也是出于我对 ...