iptables实现字符串匹配

分类: SHELL&linux命令2012-07-03 18:25 3172人阅读 评论(0) 收藏 举报

stringinputtcpoutputhexlinux

通过string匹配域名来过滤,范例如下:

iptables -I OUTPUT -p tcp -m string --string "qq.com" --algo bm -j DROP
iptables -I OUTPUT -p udp -m string --string "qq.com" --algo bm -j DROP

这样就无法访问与QQ相关的业务了,但是代理好像还是可以

系统要求:

1:内核在2.6.18以上

2:iptables在1.3.5以上

3:内核中包含字符串匹配模块。在.config文件中应有

CONFIG_NETFILTER_XT_MATCH_STRING=m
man手册
iptables -m string -helpstringThis  modules  matches  a  given string by using some
pattern matching strategy. It requires a linux kernel >= 2.6.14.--algo  bm|kmpSelect the pattern matching strategy. (bm = Boyer-
Moore, kmp = Knuth-Pratt-Morris)--from offsetSet the offset from which it starts looking for any
matching. If not passed, default is 0.--to offsetSet the offset to which it starts looking for any
matching. If not passed, default  is  thepacket size.--string patternMatches the given pattern.  --hex-string pattern
Matches the given pattern in hex notation.
常见的应用程序和有用的示例规则1:防止***的方法
iptables -I INPUT 1 -p tcp --dport 80 -m string --string "cmd.exe" --algo bm -j DROPiptables -I INPUT -j DROP -p tcp -s 0.0.0.0/0 -m string --algo kmp --string "cmd.exe"2:
保护DDOS服务
iptables -I INPUT 1 -p tcp --dport 80 -m string --string "domain.com" --algo kmp -j DROP3:
防止电子邮件欺骗
iptables -I INPUT -p tcp --dport 25 -m string --string "Subject" --algo bm -j DROP
做个最优规则
iptables -I INPUT -p tcp --dport 25 -m string --string "Subject"  --algo bm --to 15000 -j DROP

转载于:https://blog.51cto.com/zj1991/1605816

iptables实现字符串匹配相关推荐

  1. CCF - 201409-3 - 字符串匹配

    问题描述 试题编号: 201409-3 试题名称: 字符串匹配 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你 ...

  2. 字符串匹配shiftand算法

    令人惊叹的Shift-And/Shift-Or 写在前面:Shift-And/Shift-Or是如此令人惊叹的算法,在KMP基础上开始一段神奇之旅. 目的:以Shift-And算法为载体,试图在减少思 ...

  3. 字符串匹配数据结构 --Trie树 高效实现搜索词提示 / IDE自动补全

    文章目录 1. 算法背景 2. Trie 树实现原理 2.1 Trie 树的构建 2.2 Trie树的查找 2.3 Trie树的遍历 2.4 Trie树的时间/空间复杂度 2.5 Trie 树 Vs ...

  4. 2021年度训练联盟热身训练赛第四场 H - Rock Paper Scissors(字符串匹配,FFT)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 2021年度训练联盟热身训练赛第四场 H - Rock Paper Scissors(字符串匹配,FF ...

  5. Rabin-Karp ( 字符串匹配 )详解

    字符串匹配,例从 字符串S 中( 长度为 n ),找到 字符串T ( 长度为 m ) 经典思路:遍历 字符串 S,对于每个都为起点,匹配一次,则 O( n m )的复杂度 但是这样我们就对 字符 重复 ...

  6. 字符串匹配KMP算法

    字符串匹配KMP KMP过程其实就是去找下一个更好的状态的过程,省略去了中间穷举的无用过程,直接跳到下一个更好的状态,通过模式串本身的信息,站在模式串的角度来考虑问题 取长的一对 若想让模式串直接从S ...

  7. c int转字符串_【C++实现python字符串函数库】字符串匹配函数startswith与endswith

    [C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...

  8. R语言stringr包str_count函数计算字符串匹配个数实战

    R语言stringr包str_count函数计算字符串匹配个数实战 目录 R语言stringr包str_count函数计算字符串匹配个数实战 #导入stringr包 #仿真数据

  9. 三十五、字符串匹配问题--KMP算法

    一.暴力匹配算法实现字符串匹配 如果用暴力匹配的思路,并假设现在 str1 匹配到 i 位置,子串 str2 匹配到 j 位置,则有: 如果当前字符匹配成功(即 str1[i] == str2[j]) ...

最新文章

  1. java 毫秒转为日期_java将毫秒转化为日期
  2. 马斯克学什么计算机语言,马斯克头脑风暴——对计算机如醉如痴
  3. 汉字转拼音(c#) -转载
  4. “记录”是给世界做积极贡献的一种方式
  5. Java解析XMl文件之SAX和DOm方法
  6. python二分法查找程序_Python程序查找地板划分
  7. oracle压缩参数,Oracle 11g版本EXPDP 的COMPRESSION参数压缩比堪比“gzip -9”
  8. c++ list 获取元素_Python中最常见的10个问题(list)
  9. 微信用户全局唯一标识_忘掉 Snowflake,感受一下性能高出587倍的全局唯一ID生成算法...
  10. 网络常用端口号(全)
  11. 安装 MaxScale
  12. python整数范围_python整数范围
  13. windows 系统清理工具
  14. wordpress文章页面添加字体增大减小链接
  15. 微信 及支付宝 支付接口 功能
  16. java中controller层是干嘛的?
  17. matlab步进电机模糊pid和BP神经网络控制
  18. 什么是文件包含漏洞?文件包含漏洞分类!
  19. 如何在谷歌浏览器中安装Dark Reader插件
  20. batch manufacturing problem

热门文章

  1. 复旦计算机学硕分数线,复旦大学2019考研分数线公布,复旦复试经验请收好!...
  2. oracle转金额,ORACLE金额转换成英文大写的函数
  3. php绘图技术加水印,PHP图片添加水印功能示例小结
  4. 模拟京东快递单号的查询效果
  5. linux配置中心自动化,centos下搭建git服务 基于git服务配置自动化部署 遇到的Linux知识补充...
  6. Eclipse Tomcat的一些基本配置
  7. Ubuntu 下编译ffmpeg和x264解编码器(翻译的一篇文章:)
  8. word中复制、双击打开编辑公式(Axmath/mathtype)出现卡死(无响应)现象的解决方案
  9. python update用法_使用dnspython进行 update
  10. Python format 格式化函数