首页 > 其他分享 >nflog 使用

nflog 使用

时间:2023-10-27 15:35:36浏览次数:28  
标签:info struct nflog -- li 使用 log

  xx产品有个功能是对任何端口的访问都会被记录。它的实现原理是iptables的NFLOG

NFLOG是什么

它是一个target,就像ACCEPT、DROP等可以作为iptables -j后的参数值

iptables -A INPUT -p tcp -m tcp --dport 80 -j NFLOG --nflog-group 40 --nflog-prefix TCPDUMP-PCAP-IN
tcpdump -i nflog:40 -v -w nf40.pcap
// 此时tcpdump必须使用 -w 参数报文报文

 tcpdump  -i nflog:40 -v -w nf40.pcap
tcpdump: listening on nflog:40, link-type NFLOG (Linux netfilter log messages), capture size 262144 bytes

示例:

Can I log and drop packets with nflog in one iptables rule?

-N log_and_drop
-A log_and_drop -j NFLOG --nflog-prefix "shared prefix"
-A log_and_drop -j DROP
-A INPUT -p tcp --sport 1234 -g log_and_drop
-A INPUT -p udp --sport 4321 -g log_and_drop

Is there any way to put NFLOG (--nflog-prefix) inside the iptables rule so that there is only one line left?

NFLOG:https://ipset.netfilter.org/iptables-extensions.man.html#lbDG

 

内核代码为:

static struct xt_target ebt_nflog_tg_reg __read_mostly = {
	.name       = "nflog",
	.revision   = 0,
	.family     = NFPROTO_BRIDGE,
	.target     = ebt_nflog_tg,
	.checkentry = ebt_nflog_tg_check,
	.targetsize = sizeof(struct ebt_nflog_info),
	.me         = THIS_MODULE,
};
ebt_nflog_tg(struct sk_buff *skb, const struct xt_action_param *par)
{
	const struct ebt_nflog_info *info = par->targinfo;
	struct net *net = xt_net(par);
	struct nf_loginfo li;

	li.type = NF_LOG_TYPE_ULOG;
	li.u.ulog.copy_len = info->len;
	li.u.ulog.group = info->group;
	li.u.ulog.qthreshold = info->threshold;
	li.u.ulog.flags = 0;

	nf_log_packet(net, PF_BRIDGE, xt_hooknum(par), skb, xt_in(par),
		      xt_out(par), &li, "%s", info->prefix);
	return EBT_CONTINUE;
}

 

http代理服务器(3-4-7层代理)-网络事件库公共组件、内核kernel驱动 摄像头驱动 tcpip网络协议栈、netfilter、bridge 好像看过!!!! 但行好事 莫问前程 --身高体重180的胖子



标签:info,struct,nflog,--,li,使用,log
From: https://blog.51cto.com/u_15404950/8058174

相关文章

  • iptables使用示例
    iptable的各种targetiptables的结构:iptables由上而下,由Tables,Chains,Rules组成。一、iptables的表tables与链chainsiptables有Filter,NAT,Mangle,Raw四种内建表:1.Filter表Filter是iptables的默认表,它有以下三种内建链(chains):INPUT链 –处理来自外部的数据。OUTPUT链 –处理......
  • React Router的使用方法和功能
    ReactRouter是一个用于处理路由的库,为React应用程序提供了路由管理功能,使得构建单页面应用(SPA)的导航变得更加简单和灵活。下面是ReactRouter的一些常见使用方法和功能:安装ReactRouter:使用npm或yarn安装ReactRouter。在项目根目录下运行以下命令:npminstallreact-router-dom或......
  • 移动端H5使用pdf.js预览
    1.下载pdf.js文件GettingStarted(mozilla.github.io) 2.将下载的文件放进uniapp项目中 3.创建预览页面 代码:<template>   <view>      <web-view:src="allUrl"></web-view>   </view></template><script>   importrequestfro......
  • 实用小脚本——Windows系统使用dos命令删除文件
    @echooff&color0aset/pff=输入文件名:title查找%ff%echo.&set/p=正在查找<nulfor%%iin(cdefgh)do(ifexist%%i:\ (cd/d%%i:\set/p=%%i:<nulfor/f "delims="%%jin('dir/b/a-d/s"%ff%"2^>nul')do(echo.&......
  • Kubernetes 中使用consul-template渲染配置
    Kubernetes中使用consul-template渲染配置当前公司使用consul来实现服务发现,如Prometheue配置中的target和alertmanager注册都采用了consul服务发现的方式,以此来灵活应对服务的变更。但对于其他服务,是否也有一个通用的方式来使用consul管理配置文件?本文中描述如何使用consul-tem......
  • 在Windows和Linux终端下使用代理的方式
    背景在快乐上网的时候,网页会经过代理,但是有些在终端运行的程序不一定会经过代理,比如用gitclonegithub仓库的时候,或者curl下载githubrelease的时候,如果不走代理,下载可能会很慢很慢。Windows在执行gitclone前,在终端执行sethttps_proxy=localhost:7890sethttp_proxy=loca......
  • 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(5) -- 树列表
    在我们展示一些参考信息的时候,有所会用树形列表来展示结构信息,如对于有父子关系的多层级部门机构,以及一些常用如字典大类节点,也都可以利用树形列表的方式进行展示,本篇随笔介绍基于WPF的方式,使用TreeView来洗实现结构信息的展示,以及对它的菜单进行的设置、过滤查询等功能的实现逻辑......
  • 使用vscode编译python
    使用vscode编译python1.需要提前安装python,vscodewin10安装python32.在vscode中安装Python插件a.在vscode中高效率的编辑Python代码,需要安装Python插件,点击图1中红框内的按钮b.在左上角的搜索框中输入:Python,如图2所示,点击图2中红框内的按钮安装插件,点击后红框内的......
  • tus java client 使用以及问题说明
    代码来自官方参考,支持在使用的时候发现了一些问题记录下参考代码App.javapackageorg.example;importio.tus.java.client.*;importjava.io.File;importjava.io.IOException;importjava.net.URL;importjava.util.HashMap;importjava.util.Map;publicclassApp{......
  • ChatGPT 实用小案例分享——使用Python重命名附件和统计发票合计金额
    大家好,我是皮皮。一、前言前几天在【志军】的星球看到了一个有意思的ChatGPT分享,正好喝Python相关的,一起来看看吧。ChatGPT实用小案例分享。如果你在高德或者滴滴上申请过开票,应该知道它们会给我们发一封邮件,发票和行程单都会放在附件中。由于高德是聚合平台,背后有很多网约车平台,......