我必须编写嗅探网络分组(第1部分 - 简单的部分)中的程序。结果, 我必须更新程序(第2部分),这样它就能终止连接。点击 的具体要求是:

  

通过指定包括适当的源和目的地MAC地址和IP地址的数据链路层和网络层信息构建原始数据包。这些数据包的目的是终止连接。要做到这一点,你应该使用SOCK_RAW的套接字类型能够通过自己设置的头信息。

任何人可以给我一些想法,在第二部分?点击 我应该劫持会话,对用户的一个应用DoS攻击?

所有我需要的是如何终止连接的一些技巧。 我使用C编程语言,这对于安全性过程的课程分配。

有帮助吗?

解决方案

取决于你的意思是终止连接。你可能意味着对于一个TCP电路或UDP流提供端点。

或者你可能意味着发送在TCP流的中间的可接受的RST以指示流的末尾。要做到这一点,你必须知道被对方除其他事项预期的序列号。

无论哪种方式,很明显你没有上课专心听讲。分配的全部问题,似乎是要表明你理解IP数据包的原始布局和可能的TCP / UDP。我建议你购买关于这个问题的教科书(毫无疑问,你的讲师推荐)和/或采取维基百科的读取。

其他提示

有关该分配我会使用 pypacp 时,这是一个python包捕获和喷射图书馆。 Pypcap使用原始套接字伪造数据包。如果出于某种奇怪的原因,你不得不使用C,那么这个项目将是更加困难。在这种情况下,你应该使用的libpcap嗅探线和原始套接字库,将取决于您开发的平台上。

您可以嗅出寻找TCP序列号的行。在此基础上的ID,你可以建立一个RST或FIN断开连接的一侧。困难的部分将试图维持使用原始套接字的TCP连接。这几乎是不可能的,以保持应用层连接,HTTP是一个更简单的协议来维护,但如果它是HTTP它会更容易,只是劫持的cookie。

我不能帮你的C库 - 不是我的专长,但似乎应该有东西在那里。

但好像你正试图在第2部分做是为了防止DOS,不会造成一个!

检查这里:

http://en.wikipedia.org/wiki/Denial-of-service_attack

有关DoS攻击的东西。由于PP说,也有一些与连接滥用攻击,所以要找出哪一个你的赋值是有关 - 那就是你需要与你的教授退房。例如,维基网页上面提到SYN洪水 - 但几乎所有的面向连接的协议,将在该充满了太多的连接请求的连接池的攻击风险,然后不会永远关闭它们。

我认为,阅读作业,你的工作是要弄清楚如何通过关闭攻击者打开了连接到解决这个问题。这意味着你都必须弄清楚攻击是如何工作的,然后找出如何从中恢复。

提示:与近距离连接请求的洪水击中服务器不是攻击。这是没有多大用处的,或者说,因为你不必关闭已打开的连接。但损害是由开放的连接请求引起的。在这里看到:

http://en.wikipedia.org/wiki/SYN_flood

有关的一个例子。

您可以使用libpcap的帮助与数据包嗅探。 libpcap的是由tcpdump的团队开发。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top