如何检测恶意数据包?

0 java

我用Java实现了一个数据包分析器.现在我想检测捕获的数据包是否是恶意的.例如,如何使用Java代码检测DOS攻击?TCP数据包的合法大小是多少?如果大小超过合法大小,该数据包是否可被视为恶意?

moo*_*dow 5

测试邪恶的位!

说真的,遗憾的是没有捷径.这有点像问你如何在机场检查站发现恐怖分子.

您需要阅读RFC,研究可能的各种攻击,并决定您要尝试和检测哪些攻击; 根据这些信息,制定出如何检测任何特定类型攻击的机制应该是直截了当的,如果你遇到问题,你可以在这里提出一个更具体的问题.

一些链接可以帮助您入门:

  • IP数据报格式
  • Snort是一种入侵检测系统 - 即一种能够完成您正在尝试的软件:捕获流量并根据大量已知恶意模式对其进行检查.它是开源的:您可以查看源代码以了解它是如何工作的,并查看它们的数据库以查看它检查的内容.

与病毒检测一样,构建足够大的恶意活动模式数据库是此类项目中的大部分难度/费用,这将使您的工具有用与否.制作一个可用于除个人研究以外的任何其他目的的工具/教育自己如何使用这些工具可能需要很多人年.您最好的方法可能是利用现有的开放数据库,如Snort,或者只是贡献您的时间.