【发布时间】:2011-05-01 07:57:45
【问题描述】:
我正在为端口扫描程序编写代码,所以我需要发送一个原始数据包。 我搜索并发现使用 dpkt 库会更好,但我没有找到任何有用的文档。所以请任何人都可以帮助解释如何创建具有自定义 TCP 标头的数据包,即根据需要设置 tcp 标头的标志。
谢谢
【问题讨论】:
-
你的意思是原始套接字??,检查这个答案:stackoverflow.com/questions/1117958/…
我正在为端口扫描程序编写代码,所以我需要发送一个原始数据包。 我搜索并发现使用 dpkt 库会更好,但我没有找到任何有用的文档。所以请任何人都可以帮助解释如何创建具有自定义 TCP 标头的数据包,即根据需要设置 tcp 标头的标志。
谢谢
【问题讨论】:
嗯,这有点老了,但无论如何我都会回答,因为我一直在寻求这样做。 dpkt 文档基本上不存在。他们给你的唯一东西是一些示例,联合开发者 Jon Oberheide 为它编写了一些教程。因此,如果您想使用 dpkt,您可以从以下教程之一中找出答案:
如果您想要更简单的 API,我已经使用了这两个:
编写 dpkt 的同一个人编写了 libdnet,它被野兽般的安全扫描器 Nmap 使用并具有 python 包装:http://libdnet.sourceforge.net/。它有一些非常基本的 TCP 和 IP 创建功能,但文档要好得多。
或者为 libnet 使用这个 python 包装器,http://pylibnet.sourceforge.net/。这非常强大,文档也很棒,但我无法在 OS X 上进行注入。此外,到目前为止,每个版本仍然是测试版。
【讨论】: