微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – Iptables drop hex-string udp

00:00:40.283608 IP (tos 0x0,ttl 116,id 49680,offset 0,flags [none],proto UDP (17),length 32)
ip > ip: UDP,length 4
0x0000: 4500 0020 c21a 0000 6f11 1a1e 902b 4cdb E.......o....+L.
0x0010: ------ 000c c12f 0870 ac49 .....0.(.../.p.I
0x0020: 0000 0000 0000 0000 0000 **2664 94d4** ..........&d..

iptables“2664 94d4”如何在数据包上掉线?

-I INPUT -p udp --dport 7777 -m string --algo bm --from 28 --hex-string 266494d4 -j DROP

不起作用.

解决方法

有意义的是,iptables不会对这些字节进行过滤,因为它们不是IP数据包的一部分.

该数据包短于以太网的最小帧长度.因此,需要14个字节的填充来形成有效的以太网帧.序列0000 0000 0000 0000 0000 2664 94d4是填充.在iptables开始过滤之前,这部分被剥离了,这似乎是合理的.

UDP有效负载仅为4个字节,输出也表示.有效载荷为0870 ac49.

我不确定该标准是否规定了如何填充以太网帧.我希望填充是所有NUL字节.但填充的最后四个字节不是NUL.设备上可能存在信息泄漏,即发送以太网帧.

原文地址:https://www.jb51.cc/linux/397395.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐