linux管理外部工具,linux – 除了iptables之外的数据包管理工具?
我正在寻找可以根据一组规则改变网络数据包的有效内容的
linux实用程序.理想情况下,我会使用iptables和netfilter内核模块,但它们不支持通用的有效负载调整:iptables会改变各种头域(地址,端口,TOS等),并且可以匹配数据包中的任意字节,但是它显然无法改变数据包内的任意数据.
内核模块将是一个很大的优势,因为效率是一个问题,但我很乐意探索任何其他可以完成工作的选项.
谢谢你的想法!
逾期更新:
我们选择使用NFQUEUE模块,这是Robert Gamble建议的QUEUE模块的最新实现.这似乎是相当简单的,有一个安全的奖金,允许我们的代码运行在用户,而不是内核,空间.
如果我们只想改变有效载荷而不改变它的大小,这个实现将是微不足道的.在这种情况下,我们定义一个iptables规则来为我们选择“有趣的”数据包,并向他们发送一个NFQUEUE目标.我们将编写一个回调函数,它将检查来自NFQUEUE的数据包,根据需要修改数据,并重新计算其TCP和IP头中的校验和.
但是,我们的用例涉及将额外的字符注入到数据流中.这具有增加TCP流中对应的SEQ / ACK号码的一些明显的副作用,并且将conntrack模块混淆的不太明显的副作用足以完全破坏NAT.经过大量研究,头痛和实验后,最方便的解决方案是禁用这些特定数据包(原始表中的NOTRACK目标)的连接跟踪,并在我们的回调中处理它.保存你的西红柿和仇恨邮件;我不敢为你提供让人感到自豪的地方,但这是在下一个冰河时代之前为客户提供可靠产品的唯一途径.这是一个很好的故事.但我真的很感激,分享你的衷心情绪.
版本2将通过使用自定义NAT和/或conntrack helper替换我们的回调和几个iptables规则来利用我们的新发现启发.我们相信,目前的练习给了我们足够的经验来创建一个可以有机地适应netfilter架构的内核模块解决我们遇到的问题.
再次感谢您的兴趣和建议!
linux管理外部工具,linux – 除了iptables之外的数据包管理工具?相关推荐
- 常见的linux包管理软件,5款最适合新手的包管理器
导读 在 Linux 中,包管理器非常重要,知道如何使用多种包管理器可以让你像一个高手一样活得很舒适,从在仓库下载软件.安装软件,到更新软件.处理依赖和删除软件是非常重要的,这也是Linux 系统管理 ...
- linux如何查看丢弃数据包,如何查看被iptables丢弃的数据包
在Linux系统中,我们经常用iptables对数据包进行限制,最常见的就比如: [root@s109 ~]#iptables -nvL Chain INPUT (policy DROP 830 pa ...
- linux原始套接字抓取网络数据包
基于linux的抓包 一.获取数据 当我们在做网络安全或者数据探测等工作经常会用到抓包.熟悉的工具有tcpdump.wireshark等,这里我们介绍如何使用C程序原始套接字在linux系统上 ...
- ubuntu/linux系统知识(17)图形化的包管理工具Synaptic
文章目录 Synaptic 软件包管理器是什么? 为什么你要使用像 Synaptic 软件包管理器这样的 "古老的" 软件? Synaptic 软件包管理器的功能 如何在 Ubun ...
- 如何在Linux命令行下发送和接收UDP数据包
众所周知,在传输层有两个常用的协议 TCP 和 UDP,本文介绍在 Linux 命令行下,如何使用 nc 命令发送或接收 UDP 数据包,这些命令的用法对调试 UDP 通信程序将有所帮助. 1. 问题 ...
- linux下udp数据包接收工具,linux环境下数据包回放工具--pplayer分享
pplayer(packet player)是我写的一款小工具,支持主流协议,专门用来测试IPS和防火墙设备,经长时间验证,简单可靠,故发布. 程序的原理很简单,首先加载pcap包中的数据包,保存在内 ...
- python包管理机制_Go 1.5之前的多种包管理机制简介(
在 Go 语言中,我们可以使用go get命令安装远程仓库中托管的代码,不同于 Ruby Gem.pypi 等集中式的包管理机制, Go 语言的包管理系统是去中心化的.简单来讲,go get命令支持任 ...
- LWIP的数据包管理
1.数据包结构-pbuf 1.1.pbuf结构 LWIP是TCP/IP协议栈的一种具体实现,本质就是对数据包的处理,在LWIP中使用一个被称为pbuf的结构管理数据包,LWIP源码中的pbuf.c和p ...
- LWIP学习笔记(3)LWIP数据包管理结构pbuf
pbuf:LWIP是TCP/IP协议栈的一种具体体现,本质就是对数据包的处理,在LWIP中使用一个被称为pbuf的结构体管理数据包,LWIP源码中的pbuf.c和pbuf.h这两个文件就是关于pbuf ...
最新文章
- 我国将明确侵犯个人信息定罪及量刑标准
- 怎么能方便的进行数据库存储过程的版本管理?
- web.py 0.3 新手指南 - 安装
- HarmonyOS快速开发入门
- java 下载二进制文件_使用Java从Github下载二进制文件
- leetcode 795. Number of Subarrays with Bounded Maximum | 795. 区间子数组个数(Java)
- 面试必备Linux基础知识
- Windows Git客户端搭建
- Dubbo源码分析系列之-整体架构设计
- searchIndexer.exe占用过高CPU
- php栏目树,php生成无限栏目树
- 金融网络直播室软件的功能介绍
- 计算机组成原理中wr是什么,计算机组成原理第8章习题指导.pdf
- 孙鑫视频VC编程 优酷系列
- 马云现场演讲:宣布卸任董事局主席——“青山不改,后会有期!”
- Qt以文件资源管理器打开文件夹
- 工厂模式,从第三方登录说起
- 《持续交付》书评与访谈
- 教妹学Java(十七):do-while 循环
- 【无标题】研究过程中的一些经验感悟
热门文章
- python中属性是什么意思啊_python中的“对象属性”和一般属性是什么?
- RedisTemplate常用集合使用说明-opsForSet(五)
- rowdata java_Java RowDataUtil.addRowData方法代碼示例
- c语言中foreach的用法,详解JavaScript中的forEach()方法的使用
- php服务器怎么设置cookie,php服务器如何清除浏览器cookie
- java中的关键字有哪些_Java关键字有哪些?
- Java8————Stream API
- 系统如何启动数据库服务器,怎么启动sql数据库服务器
- matlab sar 斑马图,星载合成孔径雷达(SAR)斑马图仿真与研究
- 地图自定义图标_如何在H5里添加地图导航?这份教程请收藏!