如何设置出站流量的邪恶位?

问题描述 投票:16回答:3

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

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

能够对机器的所有流量进行设置就可以了,但对出来的流量进行过滤会更好。(比如能够指定哪些更高层的协议会被设置,等等...)

我用的也是Ubuntu。所以Linux解决方案优先。但除此之外,用什么方法来完成这个任务并不重要。Bash脚本,cc++程序,设置一些sysctl什么的。

linux security networking ip
3个回答
7
投票

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

http:/www.cs.columbia.edu~smb3514.html


5
投票

你有两个选择。

一个是使用 https:/code.google.compevilbitchanger。 ,一个基于scapy的脚本,为你做Evil Bit的设置工作。

另一种是使用原始的scapy脚本来制作带有邪恶位的数据包。正如文件中所描述的那样,Scapy能够设置邪恶位。邪恶位旗很容易.

>>> t=TCP()
>>> t.flags="SA"
>>> t.flags 
18
>>> t
<TCP flags=SA |>
>>> t.flags=23
>>> t
<TCP flags=FSRA |>
>>> i=IP(flags="DF+MF")
>>> i.flags
3
>>> i
<IP flags=MF+DF |>
>>> i.flags=6
>>> i
<IP flags=DF+evil |>

希望能帮到你

© www.soinside.com 2019 - 2024. All rights reserved.