当前位置: 技术问答>linux和unix
linux下如何做数据包的过滤?
来源: 互联网 发布时间:2017-02-06
本文导语: 用libpcap只能得到数据包的复本,而不能过滤数据包吧,我想做一个包过滤防火墙,该如何捕获数据包? | netfilter是真正的防火墙,iptables只是一个管理工具,用iptables把过滤规则写到netfilter里...
用libpcap只能得到数据包的复本,而不能过滤数据包吧,我想做一个包过滤防火墙,该如何捕获数据包?
|
netfilter是真正的防火墙,iptables只是一个管理工具,用iptables把过滤规则写到netfilter里面(防火墙规则),如果要给你讲netfilter的工作原理以及防火墙规则的设置那就比较麻烦了(linux防火墙里有4张表5条链,只有对linux防火墙了解深入了才能做到的心应手,如果信的过我你把你的网络环境告诉我,以及想要用防火墙达到什么样的效果告诉我,我给你写然后再给你解释每一条防火墙规则
|
直接netfilter,可以iptables设置。
|
netfilter 是内核的框架,就是用这个去做
|
那就在收包函数netif_receive_skb()处对收到的每一个包进行检查吧。用户空间用命令下过滤规则,内核空间接收命令,并且把这些规则存储起来。
不过这算不上一个软件,因为直接改了内核。。。。。只能算一个应用。
不过这算不上一个软件,因为直接改了内核。。。。。只能算一个应用。
|
使用hook,挂载点的选择比较重要。呵呵。