千家信息网

使用iptables封锁对某个域名的DNS查询

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,现在有一需求,需要禁止主机对某一个域名的DNS查询,想到用iptables的string模块,使用下面的命令:iptables -D OUTPUT -m string --string "www.ba
千家信息网最后更新 2026年10月31日使用iptables封锁对某个域名的DNS查询

现在有一需求,需要禁止主机对某一个域名的DNS查询,想到用iptables的string模块,使用下面的命令:

iptables -D OUTPUT -m string --string "www.baidu.com" --algo bm -jDROP

但使用上面的命令并不能过滤对www.baidu.com 的查询。根据参考链接中的文档,www.baidu.com 在DNS查询时会被编码如下:

03www05baidu03com

编码时域名以点被分为各子字符串(www,baidu和com)"."不会被编码,每个子字符串前面是这个字符串的长度。下面是对DNS查询的抓包:

字符串 www.baidu.com 被编码十六进制为:

03 77 77 77 05 62 61 69 64 75 03 63 6f 6d

77的是w的ascii码,其余字符也可以对照ascii进行查询。77 77 77 前面的03正是www这三个字符串的长度。
根据参考链接,可以使用iptables的string模块的十六进字符串进行过滤

iptables -A OUTPUT -p udp --dport 53 -m string --hex-string "|03|www|05|baidu|03|com|" --algo bm -j DROP

iptables 自动将

|03|www|05|baidu|03|com|

转换成十六进制。
参考链接:
https://linuxsecurity101.com/2018/11/18/tips-and-tricks-blocking-dns-requests-via-iptables/

字符 字符串 查询 编码 链接 参考 域名 十六进制 命令 模块 长度 面的 三个 个子 主机 文档 需求 封锁 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡 河南云网互联网络科技有限公司 为想互联网科技怎么样 河南真二互联网科技有限公司 互联网巨头科技公司 亿账通互联网科技 奔汉互联网科技 齐家互联网科技有限公司 科技互联网创业计划书 金融科技和互联网金融 四个字互联网科技公司取名 佩信高科技互联网 随着互联网科技发展 注册互联网科技公司经营范围大全 恒生互联网科技指数跳水 链环科技传统企业怎么转型互联网 沐思想互联网科技有限公司 神州科技互联网有限公司 全球科技与互联网公司市值变化 黑龙江互联网科技公司 互联网佳科技有限公司 互联网科技博客 济南和联互联网科技有限公司 北京华百购互联网科技有限公司 互联网金融科技公司干啥的 知域互联网科技有限公司大骗子 怎样加入科技互联网 21世纪互联网科技成就 神州科技互联网有限公司 现代科技的标志之一的互联网
0