linux下使用iptables ulog+netlink在内核中抓取特定数据包

前言

    iptables是linux下基于Netfilter框架实现的防火墙软件。通过iptables我们可以方便的对内核中流动的数据包进行一些处理。iptables拥有强大的log(数据包记录)功能,可以把按特定规则匹配的ip数据包以log的形式传递到用户层供用户分析,这样我们就可以非常方便的了解内核中都有哪些ip数据包在传递以及这些数据包的内容。
    iptables有三种log记录形式,分别是log、ulog、nflog。log用于将匹配的数据包记录到系统的syslog中去,用户也可以直接通过dmesg命令查看。log命令只记录包头的一些。ulog通过netlink套接字将数据包多播到指定netlink多播组,这样任何感兴趣的进程都可以通过建立netlink套接字来接受内核中的数据包信息。ulog可以将整个数据包拷贝并发送给应用程序,当然也可以指定发送方数据包的字节数。nflog类似于ulog,但是功能更加强大。nflog不仅可以接受来自iptables的数据,还可以向iptables通过netlink套接字发送控制数据。本文重点讲ulog。

一、iptables中的ulog设定

    可以使用--ulog在某个链上添加ulog规则。
    例如: iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-nlgroup 2
    在input链上把所有目的端口号为22的数据包发送到netlink多播组2中。
    ulog还有以下几个选项:
     --ulog-nlgroup:
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值