clash x 机场
目前openwrt系统中流量统计做的最好的应该是“石像鬼”固件了,用以做流量统计的工具也有很多如:tomato,luci-app-statistics等。
本文想给大家介绍一种基于iptables规则的流量统计方法。该方法的基本原理是利用iptables自带的对规则链的流量统计功能,通过制定不同的规则并挂在不同的表和链上来实现对特定流量统计。
mangle 表#主要作用是更具规则修改数据包的标志,以便其他规则或应用程序对其进行 处理。做好不要在该表中做DROP处理。
nat 表#顾名思义该表主要做网络地址装换的。如:SNAT DNAT REDIRECT。该表不能 对数据包执行丢弃动作。
--POSTROUTING#在执行完路由决策后即将发送出去的数据包经过该链。SNAT
根据以上说明,对于统计规则链最好放在filter表中,且同时为了提高统计的精确性,需要改造filter表的上的所有ACCEPT的规则到同一自定义链上。如所有INPUT链上的ACCEPT动作都重定向到input_accept中,OUTPUT链上的ACCEPT动作都重定向到output_accept链上,同理FORWARD链上的所有ACCEPT规则都重定向到forward_accept链上。
然后分别在自定义的*_accept链上增加对各个客户端的统计。其中input_accept可以统计所有客户端到本机的上行流量。 output_accept可以统计所有客户端到本机的下行流量。 forward_accept可以统计每个客户端经本机转发的上外网的上行与下行流量。
我的实现是每隔一秒去读取/proc/net/arp文件,通过与现有的接入链表对比,从而找到新增的断开的设备,从而对应的添加和删除其统计规则。
这样实现的好处有:1、不会影响数据流向。2、能准确的发现设备的接入和断开事件。3、对系统性能影响不大。
为了实现高效的对iptables规则链上的流量统计,程序可以基于libiptc库来实现。实例代码如下:
当把一段事件的流量除以统计间隔,就得到对应流量的速度了。(可以一秒统计一次流量的增量,它就是1秒的平均速度了。)
下一篇:使用python对 FLUENT 的计算结果进行后处理非结构化网格上的等高线图云图与
iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。iptables基础 规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就
引言 在当今的数字化时代,网络安全已成为每个组织和个人必须面对的重要议题。随着网络袭击的日益频繁和复杂,保护网络资源免受未经授权的访问变得尤为重要。Linux系统,作为一种广泛使用的操作系统,其内置的iptables防火墙工具为网络安全提供了强大的支持。iptables不仅是Linux系统中最常用的防火墙,也是一种功能强大的网络流量管理工具。通过精确控制进出Linux系统的数据包,ip
### Dockerfile保存在哪里的实现步骤为了帮助刚入行的小白理解Dockerfile保存的位置,下面将详细介绍整个实现的步骤。在这个过程中,我们将使用以下命令和代码。#### 步骤概述1. 创建一个工作目录2. 在该目录下创建一个Dockerfile文件3. 编写Dockerfile内容4. 保存Dockerfile文件5. 构建镜像下面是每个步骤需要执行的具体操作
最近几年的项目我都用JWT作为身份验证令牌。我一直有一个疑问:服务端发放给浏览器的JWT到底应该存储在哪里?这里只讨论浏览器的场景,在这个场景里有三种选择。Cookie服务端可以将JWT令...
# Python 文件保存在哪里## 引言作为一名经验丰富的开发者,你要教一位刚入行的小白关于如何保存Python文件的问题。这是一个非常基础但重要的问题,因为文件保存是任何编程语言的基本操作之一。在本文中,我将向你展示整个过程的步骤,并提供每个步骤所需的代码示例和解释。## 过程概述在开始之前,让我给你展示整个过程的步骤概述。这些步骤将指导你从创建Python文件到保存它的正确位置
# Android openFileOutput 保存在哪里?在Android开发中,我们经常需要将数据保存到文件中,以便在之后的读取和使用。`openFileOutput`是一个Android提供的用于保存文件的方法,但是很多开发者可能不清楚这些文件保存在哪里。本文将详细介绍`openFileOutput`的用法以及保存文件的位置。## openFileOutput方法简介在Andr
# Java 方法保存在哪里?Java 是一种广泛使用的编程语言,其简单性和强大的功能,使得开发者在编写代码时,能够更快速地实现功能。Java 方法作为其核心组成部分,承担着执行具体操作的任务。那么,Java 方法保存在哪里呢?## 1. Java 方法和类在 Java 中,方法是与类相关联的。这意味着每一个方法都必须存在于某个类中,因此 Java 方法的存储不仅涉及到代码的具体实现位
# BIOS数据保存在哪里?BIOS(基本输入输出系统)是计算机的固件,负责在启动过程中初始化和测试硬件组件,并加载操作系统。BIOS的数据保存位置是许多计算机用户关心的问题,因为这些数据关系到系统的基本功能及稳定性。## 一、BIOS数据的概述BIOS数据主要包括系统时间、硬件配置、启动顺序、密码设置等信息。这些信息的保存位置、方式和访问方法是理解BIOS工作原理的重要组成部分。
# 如何在Java中保存Token在现代Web开发中,Token通常用于用户身份验证和授权。为了确保安全性,我们需要妥善保存Token。本文将为你详细讲解如何在Java中实现Token的保存,并提供实际代码示例。下面是整个流程的概述。## 流程概述以下是处理Token保存的基本步骤: 步骤 说明 --------
## MySQL过程保存在哪里?MySQL是一种流行的关系型数据库管理系统,它支持存储过程(Stored Procedures)的功能。存储过程是一组为了完成特定任务而预先编译并存储在数据库中的SQL语句集合,使用存储过程可以提高数据库的性能和安全性。那么,MySQL的存储过程是保存在哪里呢?本文将为您详细解答这个问题。### 存储过程的保存位置在MySQL中,存储过程是存储在数据库中
【注】本文是基于Ubuntu14.04+Openwrt17.01开发的教程。5.1在开发板上设置IP 由于我们在开发过程中,可能会用到其他路由器,而它们的IP一般都是192.168.1.1,为了让开发板上的IP不与这些路由器的IP冲突,我们需要修改开发板上的IP地址。接下来,我们就通过在开发板上面修改配置文件的方式来修改IP地址。首先开发板上电,等它启动一会儿,然后回车进入控制台。如图1所示。 我
由于iptables的命令偏长,所以记录一下我用到的命令,先记录一点,以后边学边记~这里参考了百度百科还有Ubuntu论坛1.查看iptables表项sudo iptables -L -v默认情况下,ubuntu下的iptables是允许任意流量进入的。所以刚开始时会看到如下的表项。 解释下target,防火墙的规则指定所检查包的特征,和目标。如果包不匹配,将送往该链中下一条规则检查;如果匹配,
配置与管理IPtable防火墙 默认的四个规则表: rwa表:确定是否对该数据包进行状态跟踪 mangle表: 为数据包设置标记 nat表:修改数据中的源、目标IP地址或端口 filter表:确定是否对该数据包进行放行(过滤)默认 的5种规则链: INPUT:处理入站数据 OUTPUT:处理出站数据 FORWARD:处理转发数据包 POSTROUTING:在进行路由选择后处
基本常识BIOS: 是指主板硬件厂商, 在主板上烧写的固件程序,也就是说BIOS 是一段存储在主板上的程序, 当然,你可以联系厂商,索要他们的BIOS 各个版本的固件程序;内存: 通常是一个长方形的内存条;启动设备: 是指包含了一个bootsect.s 文件的设备, 该文件是汇编代码,大小为 512 字节, 作用是负责引导操作系统的启动;(bootsect.s 通常存放在电脑的硬盘上,而当我们使用
结构体:FILE 在stdio.h头文件中定义的结构。一般来说,它用于对文件进行操作的函数的参数或者返回值等等。它在头文件中的定义如下(成员后面的注释援引自百度知道,准确与否我查找资料未果,到后来专门找个时间将FILE结构体解读一下): typedef struct _iobuf{ char* _ptr; // 文件输入的下一个位置 int
Python 实现 TOPSIS 方法评价 TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution,趋近理想解的排序方法)是一种常用于多属性决策的评价方法。它通过将每个决策方案与一个“理想解”和一个“反理想解”进行比较,生成一个综合得分,用于评价方案的绩效。 TOPSIS 方法需要输入一个包含每个决策方案的
作者:小天线eed 今天为大家分享一篇使用python将大量数据导出到Excel中的技巧心得,可以让Python和Excel的数据实现互通!具有很好的参考价值,希望对大家有所帮助(建议在电脑端阅读,代码案例较多)。一起过来看看吧!问题描述为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势clash x 机场,但是具体到python中,该如何导出数据到Excel呢?如果碰到
基于Android官方文档学习翻译。Android是一个基于Linux的开源系统,适用于各种外形的设备。下图显示了Android平台的主要组件:Linux内核Android系统的底层是依赖于Linux内核。例如,Android运行环境(ART)依赖于Linux内核的底层功能,如线程和底层内存的管理。Linux内核允许Android使用重要的安全特性,并允许设备制造商为一个知名的内核开发硬件驱动程序