怎样截获某个 特定程序 的数据包?

tolixiaohui 2003-08-20 10:03:18
只能截获全部数据包,然后选择,太浪费了
...全文
143 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tolixiaohui 2003-08-21
  • 打赏
  • 举报
回复
没有界面!

用别人的包
但是,filter也浪费,
xiaoxx 2003-08-21
  • 打赏
  • 举报
回复
把情况说具体点吧
不知道你是自己写驱动截包,还是用别人的库截包。
要是用winpcap库的话,我记得可以设置Filter的时候,指定端口等,可以看一下TcpDump
设置Filter的标准。
feeboby 2003-08-20
  • 打赏
  • 举报
回复
跟界面有关的用HOOK吧
1 基于Linux 的防火墙技术研究 宋文功1 唐 琎2 (1.中南大学网络中心,湖南长沙510630;2.中南大学信息科学与工程学院,湖南长沙410075) 摘 要:介绍了防火墙的基本概念及其主要功能,分析了Linux 内核防火墙Netfilter 的架构、构建防火墙的工作原 理及其与内核的交互.最后给出了Netfilter 构建防火墙的一个实例。 关键词:防火墙 Linux Netfilter 包过滤 中图分类号:TN393 文献标识码:A Study of the technology of firewall based on Linux SONG Wen-gong1 Tang Jin2 (1.Central South University, Changsha 510630,China; 2. Central South University, Changsha 410075,China) Abstract:The basic concept and most functions of firewall were introduced here.It analysed the frame of netfilter,explained how to interact between kernel.Finally,a case study of using netfilter as a firewall was given. Key words:firewall;Linux; Netfilter;packet filtering 因特网的个人用户和集体用户正在快速增长,因特网在全世界范围内可共享的信息也越来越丰 富,同时随之而来的是信息系统的安全性显得越来越重要。特别是近来,黑客入侵和网络病毒大爆 发时有发生,各国政府都在加强在网络安全技术方面的研究。为了有效隔离来自Internet 的外部入 侵,防火墙(firewall)技术正在普及中。除了信息加密技术外,防火墙是当前最重要的一种网络安全 技术。 防火墙实际上是一种访问控制技术,主要作用是通过限制网络或某一特定区域的通信,阻止对信 息资源的非法访问和防止保密信息从受保护网络上非法输出。它是提供信息安全服务,实现网络和 信息安全的基础设施。 1 Linux 防火墙的功能 目前市场上有许多商用防火墙软件出售,但它们大多价格高昂,使许多个人及小企业用户难以承 受。Linux 的出现给了我们一个新的选择。它提供了一套完全免费的解决方案,其内置防火墙功能非 常强大,甚至超过了许多昂贵的商用软件。 1.1 包过滤功能 根据数据包的包头中某些标志性的字段,对数据包进行过滤。当数据包到达防火墙时,防火墙 根据包头中的某些字段中的一些或全部进行判断,决定接受还是丢弃数据包。包过滤可能发生在以 下几个时刻:接收到数据包时,发送数据包时以及转发数据包时。Linux 中过滤包的方法如下: (1)将包头和过滤规则逐一进行匹配。 (2)第一条与包匹配的规则将决定以下采取的行动:首先,此规则指定的策略将被应用到该包 上。应用在一个包的策略包括以下几种:接受(Accept),即允许包通过该过滤器;抛弃(Reject),即丢掉该 包并发一个“主机不可到达”的ICMP 报文回发送者;拒绝(Deny),即丢掉该包且不发任何返回信息。 其次,修改此规则对应的包和字节计数器的值;再次,一些关于包的信息会有选择性地被写入日志 中。有的规则中可能含有参数来定义如何改写包头的服务类型(TOS)字段,用于确定不同包的优先级。 (3)如果没有与包相匹配的过滤规则,则将对该包采取缺省的过滤规则。Linux 的包过滤规则可 包含如下一些信息: ·源地址和目的地址以及子网掩码,其中子网掩码中的0 表示可以匹配任何地址; ·包的类型,可以是TCP,UDP,ICMP 或“any”; ·源和目的端口号,一条规则中可以指定10 个以上的端口,也允许指定端口范围; ·ICMP 报文类型; 基金项目:国家自然科学基金资助项目(60234030) 2 ·包中的ACK 和SYN 标志,这是为了防止在某个特定方向上建立新的链接; ·某块网卡的名字或IP 地址,这样可以指定在特定的网卡上进出包; ·指定是否修改包头的TOS 字段; ·用一个标志来确定包的一些基本信息是否要被写入日志中。 1.2 代理服务功能 一个完整的防火墙解决方案不仅包括包过滤器,而且应该包括某种类型的应用层代理服务器。所 谓代理服务,是指在防火墙上运行某种软件(称为代理程序),如果内部网需要与外部网通信,首先 要建立与防火墙上代理程序的连接,把请求发送到代理程序;代理程序接收该请求,建立与外部网 相应主机的连接,然后把内部网的请求通过新连接发送到外部网相应主机。反之亦然。概括的说, 就是内部网和外部网的主机之间不能建立直接的连接,而是要通过代理服务进行转发。代理服务器 具有用户级的身份验证,完备的日志记录和帐号管理等较包过滤器更加安全的功能。然而,许多代理机 制需要客户端修改软件或修改用户接口,使用户意识到正在使用代理服务器。而Linux 内核支持透明 代理服务功能,透明代理用一种完全透明的方式,将一个经过本防火墙的连接重定向到本地代理服务 器.客户端(用户和软件)完全不知道他们的连接被一个代理进程处理,他们认为自已在直接和指定的 服务器对话。 1.3 包伪装功能 Linux 核心提供了一个用于防火墙解决方案的附加功能:IP 包伪装。IP 包伪装是Linux 中的一 种网络功能,它只能用于TCP/UDP 包,它能使没有Internet 地址的主机通过有Internet 地址的主机访问 Internet。如果一台Linux 服务器用IP包伪装功能连接到Internet 上,那私接上它的电脑即使没有获 得正式指定的IP 地址也可以接入Internet.这些电脑可以隐藏在Linux 服务器后面存取Internet 上的信 息而不被发现,看起来就好象是服务器在使用Internet。Linux 服务器实现代理功能的方法如下:当一 个内部主机向外发包时, Linux 服务器在转发此 IP 包之前,用自已IP 地址替换此包的源IP 地址, 并临时产生一个本机端口号来替换此包的 TCP/UDP 头中的源端口号;同时,内核会记录下 此替换.当外部的返回包到来时(送往防火墙主机 的临时端口),服务器能自动识别它,将此返回包 的IP 地址和端口号替换成内部主机的地址和端 口号,发给内部主机。分组过滤方式如下图1 所示。 通过这种IP 包伪装方式, Linux 方便地实现 了“代理”功能。从外部看来,所有包的收发都 是针对此Linux 主机的,所以具有很好的安全性。 2 Linux 数据包过滤系统—Netfilter/Iptables Linux 在其2.4 内核中内置了一个基于网络层解决方案的防火墙系统—Netfilter/Iptables,它使得 用户能够很方便地在网络边界定制对数据包的各种控制,如有状态或无状态的包过滤、各种类型的网 络地址转换、流量控制及高级的包处理等。Netfilter/Iptables 系统采用模块化的架构方式,其主要模块 有:通用框架Netfilter、数据包选择系统、连接跟踪系统及NAT系统等等。 2.1 Netfilter/Iptables 系统工作原理 Netfilter/Iptables 系统所提供的数据包控制能力(包过滤、网络地址转换、包处理等)都是由内核 模块通过注册回调函数和“IP 表”来实现的。例如,iptable_filter.o 模块通过注册filter 表及3 个回调 函数(NF_IP_LOCAL_IN;NF_IP_FORWARD;NF_IP_LOCAL_OUT)来实现IPv4 包的过滤功 能。下面以iptable_filter.o 模块的工作流程为例简单介绍一下Netfilter/Iptables 系统是如何工作的。 当数据包进入系统时,系统首先根据路由表决定数据包的流向(即将数据包发往那个关键点),则可能 有三种情况: 图1 分组过滤示意图 3 如果数据包的目的地址是其它主机或网络,则系统将该包发往forward 关键点。此时,回调函数NF _IP_FORWARD 根据FORWARD 链(在filter 表中)中的规则对数据包进行检查,如果规则匹配,则回 调函数按规则所指定的动作来处理该包,否则丢弃该包。2)如果数据包的目的地址是本机,则系统将数 据包发往input 关键点。此时,回调函数NF_IP_LOCAL_IN 根据INPUT 链(在filter 表中)中的规则 对数据包进行检查,如果规则匹配,则回调函数就按规则所指定的动作来处理该包,否则丢弃该包。3) 如果该数据包的源地址是本机,则系统将该包发往output 关键点。此时,回调函数NF_IP_LOCAL_ OUT 根据OUTPUT 链(在filter 表中)中的规则对数据包进行检查,如果规则匹配,则回调函数按规则所 指定的动作来处理该包,否则丢弃该包。 2.2 Netfilter 内核框架 Netfilter 是Linux2.4.x 内核中用于包处理的抽象、通用化的框架,它为每种网络协议(IPv4、IPv6 等)定义一套钩子函数(hook),其中IPv4 定义了5 个钩子函数.内核的模块可以对每种协议注册多个钩 子,这样当某个数据包通过Netfilter 框架时,Netfilter 检测是否有任何模块对该协议和钩子函数进行了 注册.若有,则将该数据包传给这些模块处理.Netfilter 提供了数据包过滤(filter 表),网络地址转换(NAT 表)及数据包处理(mangle 表)三种数据包处理能力.下面以Filter 表为例加以简单介绍. Filter 表为系统 缺省,其结构如下图.该表中包含了输入(INPUT)、输出(OUTPUT)和转发(FORWARD)3 条链.所有目标 地址指向本机的数据包会遍历INPUT 链,本地发出的数据包将遍历OUTPUT 链,而被转发的数据包将 遍历FORWARD 链。每一条链中都可设 定一条或数条规则,每一条规则都是这 样定义的“如果数据包头符合这样的条 件,就这样处理这个数据包”.当一个数据 包到达一个链时,系统就会从第一条规 则开始检查,看是否符合该规则所定义 的条件.如果满足,系统将根据该条规则 所定义的方法处理该数据包;如果不满 足则继续检查下一条规则。最后,如果 该数据包不符合该链中任何一条规则的 话,系统就会根据该链预先定义的策略 (Policy)来处理该数据包。 Netfilter 提供了传递数据包到用户空间的Hook 函数,对数据包进行处理的代码不必运行在内核 空间,大大简化了编程.Netfilter 的框架结构,可方便地插入各种模块,易于扩展。 2.3 内核与用户的交互 防火墙除了内核里的机制外,还需要在应用层有相应的配置工具iptables,它是从三个默认的表 Filter、Nat、Mangle 而得名,每个表有几条链。一条链就是发生在包L 的一系列动作,例如Filter 表就有INPUT、FORWARD、OUTPUT 三个不同的默认链。如果包过滤需要检查IP 包,则netfilter 框架在网络层截获IP 包,这就需要与用户定义的规则做比较。而这些规则的添加修改是通过内核和 用户交互实现的,这就涉及一个如何与内核通信的问题。内核模块有三种办法与进程打交道:首先 是系统调用;第二种办法是通过设备文件;第三个办法便是使用proc 文件系统。netfilter 采用了第 一种修改系统调用的办法。ipables 在应用层调用setsockopt 进入内核,然后调用netfilter. c 又件中 nbetsockopt()实现交互,这样通过配置防火墙就可以按需要处理网络数据包。只有熟悉了iptables 提供的众多命令、选项等,在明白其工作原理的前提下,用户才能利用它未放心地创建大量的规则 记录和策略去控制内核数据包,才能正确有效地使用防火墙。这样即使在图形界而下使用防火墙, 通过点击你也明明白白内核里发生了什么。 3 防火墙配置实例 图2 filter 表结构 4 假设有一个局域网要连接到Internet 上,公共网络地址为202.101.2.25。内部网的私有地址采用C 类地址192.168.0.0~192.168.255.0 具体操作步骤如下:第一,一台Linux 主机上安装2 块网卡ech0 和ech1,给ech0 网卡分配一个 内部网的私有地址191.168.100.0,用来与Internet 相连;给ech1 网卡分配一个公共网络地址 202.101.2.25,用来与Internet 相连;第二, Linux 主机上设置进入、转发、外出和用户自定义链。本文 采用先允许所有信息可流入和流出,还允许转发包,但禁止一些危险包,如IP 欺骗包、广播包和ICMP 服务类型攻击包等的设置策略。具体设置如下: (1) 清除所有规则/sbin/ipchains-Fforward/sbin/ipchain s-Finput/sbin/ipchains-Foutput (2) 设置初始规则/sbin/ipchains-Ainput-jACCEPT/sbin/ip chains-Aoutput-jACCEPT/sbin/ipchains-AforwardjACCEPT (3) 设置本地环路规则/sbin/ipchains-Ainput-jACCEPT-ilo/s bin/ipchains-Aoutput-jACCEPT-ilo (4) 禁止IP欺骗/sbin/ipchains-Ainput-jDENY-iech1-s 192.168.100.0/24/ s b in/ i p c h a i n s-A i n p u t-j D E N Y-i e c h1- d 192.168.100.0/24/sbin/ipchains-Aoutput-jDENY-iech1-s 192.168.100.0/24/sbin/ipchains-Aoutput-jDENY-iech1-d 192.168.100.0/24/ s b in/ i p c h a i n s-A i n p u t-j D E N Y-i e c h1- s 202.101.2.25/32/sbin/ipchains-Aoutput-jDENY-iech1-d 202.101.2.25/32 (5) 禁止广播包/sbin/ipchains-Ainput-jDENY-iech0-s 255.255.255.255/sbin/ipchains-Ainput-jDENY-iech0-d0.0..0.0/s bin/ipchains-Aoutput-jDENY-iech0-s240.0.0.0/3 (6) 设置ech0 转发规则/sbin/ipchains-Aforword-jMASQ-ie ch0-s192.168.100.0/24 (7) 设置ech1 转发规则/sbin/ipchains-Aforword-jACCEPTiech1- s192.168.100.0/24/sbin/ipchains-Aforword-jACCEPTiech1- d192.168.100.0/24 通过以上各步骤的配置,可以建立一个基于Linux 操作系统的包过滤防火墙。它具有配置简单、 安全性高和抵御能力强等优点。 4 结束语 安全总是相对和无止境的,防火墙有其固有的局限性。人们必须时刻保持高度警惕去防止新的 攻击,动态跟踪系统的安全状况,开发新的功能和采取新的策略。本文通过分析netfilter 构建防火 墙的机制与技术,利用实例讲解了利用netfilter 框架编程实现新功能,这种分析有利于研究人员去 开发新的好的功能,用防火墙去努力保障主体的安全。 参考文献: [1] The netfilter framework in linux 2.4[EB/OL]. http://www.gnumonks.org/ [2] Linux 2.4 netfilter hacking HOWTO[EB/OL]. http:/ netfilter.kernelnotes.org/ [3] 徐辉,潘爱民,阳振坤.Linux 防火墙的原理与实现[J].计算机应用,2002,(1). [4] 梁如军.RedHat7.0 安装配置与管理[M].北京:清华大学出版社,2001. [5] RobertZiegler. 余青霞,周钢译.Linux防火墙[M].北京:人民邮电出版社,2000.10 [6] 黄允聪,严望佳,防火墙的选型、配置、安装和维护[M].北京:清华大学出版社,1999.45~108 [7] 原箐,卿斯汉.基于安全数据结构的防火墙[J]计算机科学,2001(8):56~60 5 作者简介(Author’s brief introduction): 1、宋文功(1966-),男,汉族,硕士(Male. Master.)。中南大学网络中心,工程师。 毕业院校:北京邮电学院。 研究方向:计算机通信(Researching for computer communications)。 通信地址:长沙市韶山南路22 号中南大学网络中心 邮编:510630 2、唐琎(1966-),男,汉族,博士(Male. Doctor.)。中南大学信息科学与工程学院,副教授。 研究方向:计算机应用 (Researching for computer applications)。 毕业院校:北京大学.
{安全生产管理}无线网络 安全解决方案 无线网络安全解决方案 1.WLAN 的应用现状 1.1Wi-Fi 在全球范围迅速发展的趋势 无线局域网(WLAN)作为一种能够帮助移动人群保持网络连接的技术,在全球范围 内受到来自多个领域用户的支持,目前已经获得迅猛发展。无线局域网(WLAN)的 发展主要从公共热点(在公共场所部署的无线局域网环境)和企业组织机构内部 架设两个方向铺开。世界范围内的公共无线局域网(WLAN)热点数量三年增加近 60 倍。预计将从 2002 年的 14717 个增长到 2006 年的 30 多万个,用户数量增加 四倍。据 IDC 预测,到 2004 年全球的 WLAN 用户将达到 2460 万,比 2002 年增长 近十倍;2002 年销售的全部笔记本电脑中只有 10%支持 WLAN,目前是 31%,预计 到 2005 年,售出的笔记本电脑中将有 80%具备无线支持能力。 在亚太区,这一发展势头同样强劲。市场调查公司 GartnerDataquest 指出,公 共无线局域网(WLAN)服务在亚太地区将保持强劲的发展势头。至少在澳大利亚、 香港、日本、新加坡、韩国和台湾这六大市场,热点的数量在迅速增加。2002 年 亚太地区只有 1,625 个热点,预计到 2007 年,热点的数量将接近 3.8 万。 1.2 在企业、 学校等组织机构内部, 笔记本电脑的普及也带动了无线局域网(WLAN) 的普及。 以英特尔公司为例,全球 79,000 名员工中有 65%以上的人使用笔记本电脑,其 中 80%以上的办公室都部署了无线局域网(WLAN),英特尔围绕具备无线能力的笔 记本电脑如何改变其员工的生活习惯和工作效率进行了调查,结果表明,员工的 工作效率平均每周提高了两小时以上,远远超过了所花费的升级成本,而且完成 一般办公室任务的速度提高了 37%。此外,无线移动性还迅速改变了员工的工作 方式,使其能够更加灵活自主地安排自己的工作。 2.WLAN 面临的安全问题 由于无线局域网采用公共的电磁波作为载体,电磁波能够穿过天花板、玻璃、楼 层、砖、墙等物体,因此在一个无线局域网接入点(AccessPoint)所服务的区域 中,任何一个无线客户端都可以接受到此接入点的电磁波信号,这样就可能包括 一些恶意用户也能接收到其他无线数据信号。这样恶意用户在无线局域网中相对 于在有线局域网当中,去窃听或干扰信息就来得容易得多。 WLAN 所面临的安全威胁主要有以下几类: 2.1 网络窃听 一般说来,大多数网络通信都是以明文(非加密)格式出现的,这就会使处于无 线信号覆盖范围之内的攻击者可以乘机监视并破解(读取)通信。这类攻击是企 业管理员面临的最大安全问题。如果没有基于加密的强有力的安全服务,数据就 很容易在空气中传输时被他人读取并利用。 2.2AP 中间人欺骗 在没有足够的安全防范措施的情况下,是很容易受到利用非法 AP 进行的中间人 欺骗攻击。解决这种攻击的通常做法是采用双向认证方法(即网络认证用户,同 时用户也认证网络)和基于应用层的加密认证(如 HTTPS+WEB) 。 2.3WEP 破解 现在互联网上存在一些程序,能够捕捉位于 AP 信号覆盖区域内的数据包,收集 到足够的 WEP 弱密钥加密的包,并进行分析以恢复 WEP 密钥。根据监听无线通信 的机器速度、 WLAN 内发射信号的无线主机数量, 以及由于 802.11 帧冲突引起的 IV 重发数量,最快可以在两个小时内攻破 WEP 密钥。 2.4MAC 地址欺骗 即使 AP 起用了 MAC 地址过滤,使未授权的黑客的无线网卡不能连接 AP,这并不 意味着能阻止黑客进行无线信号侦听。通过某些软件分析截获的数据,能够获得 AP 允许通信的 STAMAC 地址, 这样黑客就能利用 MAC 地址伪装等手段入侵网络了。 3.WLAN 业界的安全技术 早期的无线网络标准安全性并不完善, 技术上存在一些安全漏洞。 但是另一方面, 由于 WLAN 标准是公开的,随着使用的推广,更多的专家参与了无线标准的制定, 使其安全技术迅速成熟起来。现在不只是在家庭,学校,中小企业里边 WLAN 得 到广泛的应用,在安全最敏感的大企业,大银行户头(例如全球财富 500 强),政 府机构,WLAN 的安全可靠性也得到了认可,并大量地推广使用。 具体地讲,为了有效保障无线局域网(WLAN)的安全性,就必须实现以下几个安全 目标: 1.提供接入控制:验证用户,授权他们接入特定的资源,同时拒绝为未经授权的用 户提供接入; 2.确保连接的保密与完好:利用强有力的加密和校验技术,防止未经授权的用户窃 听、插入或修改通过无线网络传输的数据; 3.防止拒绝服务(DoS)攻击:确保不会有用户占用某个接入点的所有可用带宽,从
    尽管讲解概念如果同学们是初初相识,真有点晦涩难懂,本人讲解概念的同时,尽量结合实操来讲,这样即加固了概念,同时让同学不会感觉到太烦闷,其实对这些重要基础概念的理解,正是学习过《计算机网络原理》,与直接上手做事的人的区别所在。     古人云,腹有诗书气自华,只要先搞懂了原理,学有所成,今后和别人讨论网络底层问题的时候,才能够抑扬顿挫底气十足,不怯场!# 网络层首部     初探十二段内容介绍     ipv4和ipv6 版本号表示;首部长度     区分服务,给数据包添加标识 QoS     总长度 Total Length;标识Identification;标志Flags     生存时间 TTL     协议号;首部校验和     实训抓包验证诸项内容# ICMP 差错报告报文格式     数据包类型(详解列表:类型值和代码)     TTL耗尽报告-1     主机不可到达(Destination unreachable)-2     路由重定向(Redirect)-3     给应用程序返回差错报告-4     实例讲解:使用ping命令测试网络判断出问题范围     跟踪数据包路径主要命令介绍:tracert和pathping# ARP 协议     arp 协议本网段与跨网段的工作原理     arp 欺骗的两个目的,阻断连接或截获数据包     arp 欺骗的工作原理阐述,创建阻断连接的实验环境     arp 欺骗演示工具,网络执法官     arp 欺骗防止或阻止措施:         手工绑定两端通信主机的mac地址 -a         同时修改mac地址和ip地址;安装运行wireshark工具 -b         在路由器中绑定通信主机mac地址 -c# 搭建流媒体服务     提供点对点服务:采用TCP协议,而非IGMP协议     提供多播视频:根据多播地址切换频道(IGMP协议-UDP)     根据多播IP地址,参照预定规则,合成多播MAC地址     阐述IGMP跨网段运行方式,与创建跨网段环境     启用多播路由:实现流媒体跨网段转发视频,同时抓包查看ICMP数据包特性# 习题详解    网络层协议

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧