首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网络层或传输层模糊

网络层或传输层模糊
EN

Stack Overflow用户
提问于 2009-12-17 07:36:39
回答 2查看 4.8K关注 0票数 7

我如何执行模糊策略来强调网络堆栈,特别是在第三层和第四层(网络和传输)?我已经研究过生成fuzzers的框架,比如SPIKE,但在我看来,它们主要集中在应用层和应用层以上?是否有任何众所周知的技术可以模糊这些层中的众所周知的协议,例如TCP?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2009-12-24 06:17:44

看看Scapy吧。它允许您在网络层和传输层进行模糊处理。fuzz函数将模糊您在IP或TCP层中未显式指定的任何内容(您可以将其分别应用于每个层)。这为您提供了一系列功能,从随机生成ip地址和端口对到创建和发送无意义的数据包。

您可能还想看看Fragroute。这将扭曲TCP/IP,使其使用各种规避技术,但可能会揭示网络堆栈中其他隐藏的错误/漏洞。

此外,如果您的组织不反对,您可以设置一个Tor出口节点并捕获其中的流量。我发现它对测试正确的TCP连接状态跟踪很有用。虽然您的连接是众所周知的,并且不会改变,但有大量的服务器以及有趣的网络拥塞问题。它基本上是一个无穷无尽的流量来源。一定要与你的上级确认,因为你的组织可能会反对成为恶意流量的潜在来源(即使有很强的不负责任的先例)。我已经通过在家中运行它/捕获,然后引入pcaps来解决这个问题。

票数 8
EN

Stack Overflow用户

发布于 2009-12-31 03:33:20

如果您想对IP、UDP或TCP进行模糊处理,请通过环回将数据包从您的高级服务路由到读取它们、对它们进行模糊处理并转发它们的进程。您需要一个允许您与原始套接字对话的驱动程序,并且您需要阅读/了解适用的RFC对这些协议的说明。

有一种简单的方法可以做到这一点。正如Justdelegard所建议的那样,一般来说,Scapy可能是最好的选择。

看看Laurent Gaffié的Releasing ICMPv4/IP fuzzer prototype。他的Python代码,顺便说一句,他在pastebin.com上以more readable的方式重新发布,从scapy导入,并使用他定义的一些方法来执行几种类型的模糊。IP和ICMP数据包在他的示例代码中处理。所以,这听起来就是你想要的。

现在,似乎有很多公司在使用Tcl/Expect to do custom automated testing of networks。SIP、H.323、第2层和第3层协议等

因此,如果Scapy不能满足您的需求,您可以使用Expect创建或找到用Tcl编写的代码。或者,您可能希望在Python中做一些事情,使用Scapy -以及在Tcl中做其他事情,使用Expect。

Tcl长期以来一直用于网络测试和管理应用程序。早在20世纪90年代,就有一本关于如何使用Tcl进行基于SNMP的网络管理的书。

Tcl的语法确实很奇怪,但是它的库非常强大。它提供了一种类似框架的功能,可以定义套接字上的自定义网络行为的行为,类似于您可以使用Python编程语言的标准库所做的事情。

与Python和其他脚本语言不同,Tcl程序有一个非常强大的工具,名为Expect (请参阅expect man page)。

Expect有一个方便的功能。它可以自动生成Tcl测试脚本。生成的脚本调用Expect函数。在进行此记录时,它的作用是充当被动的中间人,记录对话双方。类似于在MS Word或Emacs中进行编辑时录制宏的方式。

然后,您可以编辑自动生成的Expect脚本以对其进行微调,使其具有不同的行为,或者创建其多个变体。它对于创建回归测试非常方便。如果你需要的话,你应该能够用它来开始编写更高层的协议测试。胜过从头开始。

我认为您可以使用Tcl/Expect来测试标准的TCP应用程序(FTP、HTTP、SMTP等)。使用基于字符串的命令。它适用于测试基于字符的应用程序,如TELNET,这些应用程序从stdin读取输入并生成输出到stdout。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1918571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档