当前位置:  开发笔记 > 编程语言 > 正文

如何在传出流量上设置Evil Bit

如何解决《如何在传出流量上设置EvilBit》经验,为你挑选了2个好方法。

因此,对于我正在编写的与安全相关的应用程序,我实际上想要使用RFC3514("邪恶位")来确定网络中的流量集是否是恶意的.这被用作辅助机器学习引擎的训练数据,因此应用程序必须事先知道哪些数据包是邪恶的,哪些不是.

这应该相当简单,它只是设置一个IP层位.我试过用iptables或libpcap来做这件事,但要么他们没有功能,要么我没有发现它.

能够为机器外的所有流量设置它会很好,但过滤出来的东西会更好.(比如能够指定更高层协议设置的内容等等)

我也在使用Ubuntu.所以Linux解决方案更受欢 但除此之外,使用什么方法来实现这一点并不重要.Bash脚本,c/c ++ app,设置一些sysctl,等等.



1> Colin Pickar..:

显然这实际上是为FreeBSD实现的 - 也许你可以查看他们的代码?

http://www.cs.columbia.edu/~smb/3514.html


在看了一会儿之后,看起来你是部分正确的,科林.似乎需要一个内核补丁才能将这种功能转化为iptables.但是,解决方法是使用mangle表.您可以在IPv4标头的DSCP和ECN字段中插入标志,这些字段通常是未使用的.虽然这样做可能会导致问题,如果你的网络实际上在那里使用的东西

2> Andre de Mir..:

您有两种选择:

一种是使用https://code.google.com/p/evilbitchanger/,这是一个基于scapy的脚本,可以帮助您完成Evil Bit设置.

另一种是使用原始scapy脚本来使用Evil位来创建数据包.据记载,Scapy能够很容易地设置Evil Bit标志.

>>> t=TCP()
>>> t.flags="SA"
>>> t.flags 
18
>>> t

>>> t.flags=23
>>> t

>>> i=IP(flags="DF+MF")
>>> i.flags
3
>>> i

>>> i.flags=6
>>> i

希望这可以帮助.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有