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