有人可以指导我如何将 Scapy 中的数据包发送到 IP 地址,并将 TCP 标头中的所有标志设置为 null 吗?到目前为止,我已经尝试在不指定要设置哪些标志的情况下发送数据包,但似乎每次发送数据包时都会设置 Syn 标志。
我想知道它,以便我可以了解有关 TCP Null Scans 的更多信息。将不胜感激您的帮助和指导。
有人可以指导我如何将 Scapy 中的数据包发送到 IP 地址,并将 TCP 标头中的所有标志设置为 null 吗?到目前为止,我已经尝试在不指定要设置哪些标志的情况下发送数据包,但似乎每次发送数据包时都会设置 Syn 标志。
我想知道它,以便我可以了解有关 TCP Null Scans 的更多信息。将不胜感激您的帮助和指导。
我没有使用过 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="") ?
如果您不想实际发送 TCP 标头,最好只设置 IP 数据包的协议并在其上粘贴一串零。
sr( IP(dst="192.168.1.", proto="TCP")/"\0"*50)
编辑:我对语法实际上并不积极,您可能必须使用协议号而不是“TCP”
感谢 Andy 和 Jdizzle 的建议。
我尝试了安迪之前推荐的内容,但是当我在wireshark上检查它时,这个数据包似乎设置了Syn标志。
好消息是,我解决了这个问题,可以在创建要发送的数据包时将标志设置为空。
创建一个数据包 --> a=TCP() 然后通过 --> a.flags=0 将标志设置为零 在准备要通过网络发送的数据包之前,您可以通过这种方式预设许多其他属性。您可以通过 --> ls(a) 查看这些属性
其中 a = 数据包的名称。
这成功了!