如何使用dpkt创建原始套接字(自定义TCP标头)?

时间:2010-10-27 13:29:46

标签: python packet

我正在为端口扫描程序编写代码,所以我需要发送一个原始数据包。 我搜索并发现使用dpkt库会更好但我没有找到任何有用的文档。所以,任何人都可以帮助解释如何使用自定义的TCP标头创建数据包,即根据需要设置tcp标头的标志。

谢谢

1 个答案:

答案 0 :(得分:1)

嗯,这有点老了,但无论如何我都会回答,因为我一直在寻找同样的方法。 dpkt文档基本上不存在。他们给你的唯一东西是一些样本,合作开发者Jon Oberheide为它写了一些教程。因此,如果您想使用dpkt,您可以从其中一个教程中找到它并不困难:

如果你想要一个更简单的API,我已经使用了这两个:

  1. 编写dpkt的同一个人编写了libdnet,它由野兽安全扫描程序Nmap使用并具有python包装:http://libdnet.sourceforge.net/。它有一些非常基本的TCP和IP创建功能,但文档要好得多。

  2. 或者将此python包装器用于libnet,http://pylibnet.sourceforge.net/。这非常强大,文档很棒,但我无法在OS X上进行注入工作。到目前为止,每个版本仍然是测试版。