1

有人可以指导我如何将 Scapy 中的数据包发送到 IP 地址,并将 TCP 标头中的所有标志设置为 null 吗?到目前为止,我已经尝试在不指定要设置哪些标志的情况下发送数据包,但似乎每次发送数据包时都会设置 Syn 标志。

我想知道它,以便我可以了解有关 TCP Null Scans 的更多信息。将不胜感激您的帮助和指导。

4

3 回答 3

2

我没有使用过 Scapy,但是通过快速浏览文档,有一个在指定要设置的标志的同时创建 TCP 数据包的示例,在文档的此页面上:

http://www.secdev.org/projects/scapy/doc/usage.html#simple-one-liners
sr(IP(dst="192.168.1.*")/TCP(dport=80,flags="S"))

也许你可以尝试这样的命令,用一个空字符串“”?即 TCP(dport=80,flags="") ?

于 2010-11-05T22:34:59.760 回答
0

如果您不想实际发送 TCP 标头,最好只设置 IP 数据包的协议并在其上粘贴一串零。

sr( IP(dst="192.168.1.", proto="TCP")/"\0"*50)

编辑:我对语法实际上并不积极,您可能必须使用协议号而不是“TCP”

于 2010-11-05T23:31:51.117 回答
0

感谢 Andy 和 Jdizzle 的建议。

我尝试了安迪之前推荐的内容,但是当我在wireshark上检查它时,这个数据包似乎设置了Syn标志。

好消息是,我解决了这个问题,可以在创建要发送的数据包时将标志设置为空。

创建一个数据包 --> a=TCP() 然后通过 --> a.flags=0 将标志设置为零 在准备要通过网络发送的数据包之前,您可以通过这种方式预设许多其他属性。您可以通过 --> ls(a) 查看这些属性

其中 a = 数据包的名称。

这成功了!

于 2010-11-07T08:30:19.947 回答